A newer version of the Gradio SDK is available: 6.20.0
FIXES — open items for the SigRank build
Status legend: [ ] not done · [~] partial/optional · [x] done Completed items are moved to the BOTTOM. Everything still TO DO is up top.
═══════════════════════════════════════════════════════════════════
🔧 STILL TO DO
═══════════════════════════════════════════════════════════════════
FIX 3 — tokscale MCH row (DATA, BLOCKED on your re-pull)
- FILE: metrics.py SEED
- WHAT: add "MCH (tokscale read)" as a LABELED instrument-comparison row, NOT a second person. Frame: same operator via the noisy instrument (input inflated to ~8.36M vs ccusage 1.25M — the +568% streaming-sum artifact).
- WHY: demonstrates instrument divergence honestly. Held open until you re-pull clean numbers (don't freeze the screenshot figure).
FIX 5 — MiniCPM not in venv (DEMO QUALITY, optional pre-record)
- [~] requirements.txt lists torch/transformers; venv only has gradio.
- WHAT: for REAL MiniCPM narration on camera (not the template fallback): .venv/bin/python -m pip install torch transformers accelerate sentencepiece
- NOTE: heavy download. Numbers/board/cost/cascade identical either way — only the prose paragraph changes.
SUBMISSION (yours, not code — from TODO.md)
- Move Space into build-small-hackathon ORG
- Record demo video (script in TODO.md) + paste link in README
- Social post + paste link in README
- If chasing Codex $10k: do Codex commits AFTER repo is in the org (so attribution lands in the submitted location) — see CODEX.md
NEXT BUILD — automatic importer (local-first, paste = backup)
- Clean/sleek local importer that auto-reads ccusage (no paste). See SCRATCHPAD.md.
VERIFY (run after every fix)
cd /Users/dericmchenry/Desktop/moses-sigrank
.venv/bin/python -c "import py_compile,glob; [py_compile.compile(f,doraise=True) for f in glob.glob('*.py')]"
.venv/bin/python metrics.py # canonical numbers must still print
═══════════════════════════════════════════════════════════════════
✅ DONE
═══════════════════════════════════════════════════════════════════
FIX 1 — Persistence boundary documented (HONESTY) — DONE this session
- Added the honesty note to README (Notes), app.py Leaderboard tab, and "your placement". Phrased for curated mode so it stays true: pasted rows score live against the field but are NOT added to the persisted board.
FIX 2 — Cost provenance stated (LABEL) — DONE this session
- README Notes + metrics.py SEED comment now state: board $/1M is a list-price recompute (~) for all rows; MO§ES reproduces its real ccusage $0.527; the 6 wild operators have no real cost data. Real cost only on the live ccusage paste.
FIX 4 — Species/quadrant framing (NARRATIVE) — DONE this session
- Wrote species_cards.md: 2×2 Scale×Amplification quadrant, MO§ES = the empty quadrant (not "top rank"), flavor-text fix ("built to compound, not just spend"), and the honest line (high reuse is the SIGNATURE of compounding, not proof). Deck-only, not the app.
FIX 6 — CSS 8-col grid (VISUAL) — DONE this session
- Verified theme.py:58 grid-template-columns = 8 tracks, matches the 8 header cells in board_html(). No change needed. (Pixel eyeball at your width still yours.)
PERSISTENCE — Supabase (NEW, this session) — DONE + VERIFIED
- Table public.sigrank_operators built + seeded (7 rows) in AppFeeder, curated RLS.
- db.py (REST read + service-key upsert) with SEED fallback safety net.
- app.py reads from db.load_operators() (cached, db→SEED) + save-on-ingest; requirements gained requests.
- VERIFIED LIVE: anon REST read returns 7 rows; anon write blocked (401). Set Space secrets from SECRETS.local.md to activate.
CONFIRMED WORKING (baseline)
- ccusage import → fills ALL board columns. Verified MO§ES Υ 18,437, $0.527.
- Codex import → 2:1 anchor split, clamped ≥0, caveat-flagged, full cascade.
- Four-number fallback. Garbage input handled gracefully.
- Avg $/1M is a real board column (8-col grid).
- Board used on BOTH tabs — hero version consistent.
- App boots under gradio 6.x (version-safe launch).