Clean repo + mobile leaderboard readout fix
Browse filesRemoves internal scratch docs (STATUS/SCRATCHPAD/TODO/builddemo/etc.) and ships the mobile fix: both boards collapse to rank/operator/Y on phones.
- .gitignore +16 -1
- CODEX.md +0 -72
- FIXES.md +0 -78
- LICENSE +21 -0
- PERSISTENCE_SPEC.md +0 -115
- README.md +12 -4
- REVIEW.md +0 -110
- SCRATCHPAD.md +0 -137
- STATUS.md +0 -562
- SUPABASE_MIGRATION.md +0 -97
- TODO.md +0 -95
- USAGE.md +0 -52
- app.py +1 -1
- bdemo2.md +0 -119
- builddemo.md +0 -225
- notes:.md.md +0 -10
- theme.py +11 -4
.gitignore
CHANGED
|
@@ -5,8 +5,23 @@ __pycache__/
|
|
| 5 |
*.pyc
|
| 6 |
*.pyo
|
| 7 |
.DS_Store
|
|
|
|
| 8 |
|
| 9 |
-
# local-only secrets +
|
| 10 |
SECRETS.local.md
|
| 11 |
.env
|
| 12 |
.env.*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5 |
*.pyc
|
| 6 |
*.pyo
|
| 7 |
.DS_Store
|
| 8 |
+
.pytest_cache/
|
| 9 |
|
| 10 |
+
# local-only secrets + credentials (never commit)
|
| 11 |
SECRETS.local.md
|
| 12 |
.env
|
| 13 |
.env.*
|
| 14 |
+
|
| 15 |
+
# internal working / session notes — not for public repo
|
| 16 |
+
SCRATCHPAD.md
|
| 17 |
+
STATUS.md
|
| 18 |
+
FIXES.md
|
| 19 |
+
CODEX.md
|
| 20 |
+
REVIEW.md
|
| 21 |
+
TODO.md
|
| 22 |
+
USAGE.md
|
| 23 |
+
PERSISTENCE_SPEC.md
|
| 24 |
+
SUPABASE_MIGRATION.md
|
| 25 |
+
builddemo.md
|
| 26 |
+
bdemo2.md
|
| 27 |
+
notes:.md.md
|
CODEX.md
DELETED
|
@@ -1,72 +0,0 @@
|
|
| 1 |
-
# Codex handoff — MO§ES SigRank
|
| 2 |
-
|
| 3 |
-
Read this first. It's the instruction set for driving **OpenAI Codex** against this
|
| 4 |
-
repo and the thing that earns the **Codex $10k sponsor prize**.
|
| 5 |
-
|
| 6 |
-
Local path (desktop storage): `/Users/dericmchenry/Desktop/moses-sigrank`
|
| 7 |
-
GitHub (current): `github.com/Burnmydays/hf-` → upload target: `github.com/SunrisesIllNeverSee`
|
| 8 |
-
|
| 9 |
-
## How the prize works (important)
|
| 10 |
-
The sponsor track rewards repos where **Codex did real work**, shown through
|
| 11 |
-
**Codex-attributed commits**. It does NOT require that 100% of the repo is Codex's.
|
| 12 |
-
Two rules:
|
| 13 |
-
1. **Genuine work only.** Let Codex actually write the code and commit it with its own
|
| 14 |
-
attribution. Do not hand-copy output or fake attribution — that risks disqualification.
|
| 15 |
-
2. **Verify the official rule** on the hackathon page before relying on this.
|
| 16 |
-
|
| 17 |
-
## Current state (as of this handoff)
|
| 18 |
-
Done and pushed to Burnmydays/hf- (main):
|
| 19 |
-
- Codex parser fixed — `_codex_input_estimate` in `ingest.py` (Beta = output × real Claude
|
| 20 |
-
io_ratio; Alpha = output × 2.0 AA baseline). Two pathways, both flagged `*` estimated.
|
| 21 |
-
- `./sigrank --all` (run every provider in turn).
|
| 22 |
-
- Instructions sharpened (app.py "Clock Your Signal" tab + README).
|
| 23 |
-
- Wild corpus = 10 tokscale.ai operators; board = 11 rows; Supabase migrated + synced.
|
| 24 |
-
|
| 25 |
-
## Codex parser — DONE (do not change)
|
| 26 |
-
The Codex token conversion is FINAL: the ratio model in `_codex_input_estimate`
|
| 27 |
-
(`ingest.py`) — Alpha `output×2` (no Claude profile) / Beta `output×io_ratio` (Claude
|
| 28 |
-
profile present) — handles the estimate. **Do NOT add turn/daily-delta logic.**
|
| 29 |
-
|
| 30 |
-
## Codex's job: DEPLOY (the main handoff)
|
| 31 |
-
Do these in order so the work + attribution land in the submitted location.
|
| 32 |
-
|
| 33 |
-
1. **Upload the repo to GitHub → `github.com/SunrisesIllNeverSee`.**
|
| 34 |
-
The current working copy is at `/Users/dericmchenry/Desktop/moses-sigrank` (also on
|
| 35 |
-
`github.com/Burnmydays/hf-`). Commit with Codex attribution and push to SunrisesIllNeverSee.
|
| 36 |
-
|
| 37 |
-
2. **Deploy to the HuggingFace Space** (Gradio SDK; `README.md` already has valid Space
|
| 38 |
-
front-matter). Create/link the Space under the owner's HF account (`burnmydays`) and
|
| 39 |
-
push the repo to the Space's git remote.
|
| 40 |
-
|
| 41 |
-
3. **Set the Space secrets** (Space → Settings → Variables and secrets). Copy the values
|
| 42 |
-
from `SECRETS.local.md` (gitignored — never commit them):
|
| 43 |
-
- `SUPABASE_URL` → read endpoint
|
| 44 |
-
- `SUPABASE_ANON_KEY` → read (RLS-gated, public-read)
|
| 45 |
-
- `SUPABASE_SERVICE_KEY`→ **only if** signed-in visitor rows should persist; leave UNSET
|
| 46 |
-
for the curated demo (then writes are no-ops and pastes stay transient).
|
| 47 |
-
Without these the app still boots on the SEED fallback (11 rows), so it never breaks.
|
| 48 |
-
|
| 49 |
-
## Optional extra attributed commits (nice-to-have for the prize)
|
| 50 |
-
- **`test_metrics.py`** — lock MO§ES Υ 18,436.98 / lev 2042.2 / 10x DEV 3.31 + the
|
| 51 |
-
telescoping identity `(o/i)·(cw/o)·(cr/cw)==cr/i` for every SEED row, plus both Codex
|
| 52 |
-
pathways (Alpha `output×2`, Beta `output×io_ratio`).
|
| 53 |
-
- **Real Codex `$/1M`** — OpenAI per-1M prices in `parse_codex_submission` meta (keep `*`).
|
| 54 |
-
|
| 55 |
-
## Verify BEFORE every Codex commit
|
| 56 |
-
```
|
| 57 |
-
cd /Users/dericmchenry/Desktop/moses-sigrank
|
| 58 |
-
.venv/bin/python -c "import py_compile,glob; [py_compile.compile(f,doraise=True) for f in glob.glob('*.py')]"
|
| 59 |
-
.venv/bin/python metrics.py # MO§ES must print Y 18436.98, lev 2042.2, 10xDEV 3.31, $/1M 0.527
|
| 60 |
-
```
|
| 61 |
-
(use `python3` if there's no `.venv`.)
|
| 62 |
-
|
| 63 |
-
## DO NOT let Codex touch
|
| 64 |
-
- The MO§ES (ccusage) SEED row in `metrics.py` (canonical, Υ 18436.98).
|
| 65 |
-
- The Υ formula `(C·O)/I²` or the telescoping identity — these are the thesis.
|
| 66 |
-
- The Codex estimation must stay **flagged (`*`)** — never a silent strict assumption.
|
| 67 |
-
|
| 68 |
-
## Already done — NOT available as Codex commits
|
| 69 |
-
- 2:1 → real-ratio anchor refinement (Alpha/Beta unified). Done by Claude this session.
|
| 70 |
-
- Board `~`/`*` estimated-row marker. Done by Claude this session.
|
| 71 |
-
|
| 72 |
-
See `SCRATCHPAD.md` for live cross-agent state and `TODO.md` for the full task board.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FIXES.md
DELETED
|
@@ -1,78 +0,0 @@
|
|
| 1 |
-
# FIXES — open items for the SigRank build
|
| 2 |
-
|
| 3 |
-
Status legend: [ ] not done · [~] partial/optional · [x] done
|
| 4 |
-
Completed items are moved to the BOTTOM. Everything still TO DO is up top.
|
| 5 |
-
|
| 6 |
-
═══════════════════════════════════════════════════════════════════
|
| 7 |
-
# 🔧 STILL TO DO
|
| 8 |
-
═══════════════════════════════════════════════════════════════════
|
| 9 |
-
|
| 10 |
-
## FIX 3 — tokscale MCH row (DATA, BLOCKED on your re-pull)
|
| 11 |
-
- [ ] FILE: metrics.py SEED
|
| 12 |
-
- WHAT: add "MCH (tokscale read)" as a LABELED instrument-comparison row, NOT a
|
| 13 |
-
second person. Frame: same operator via the noisy instrument (input inflated
|
| 14 |
-
to ~8.36M vs ccusage 1.25M — the +568% streaming-sum artifact).
|
| 15 |
-
- WHY: demonstrates instrument divergence honestly. Held open until you re-pull
|
| 16 |
-
clean numbers (don't freeze the screenshot figure).
|
| 17 |
-
|
| 18 |
-
## FIX 5 — MiniCPM not in venv (DEMO QUALITY, optional pre-record)
|
| 19 |
-
- [~] requirements.txt lists torch/transformers; venv only has gradio.
|
| 20 |
-
- WHAT: for REAL MiniCPM narration on camera (not the template fallback):
|
| 21 |
-
.venv/bin/python -m pip install torch transformers accelerate sentencepiece
|
| 22 |
-
- NOTE: heavy download. Numbers/board/cost/cascade identical either way — only
|
| 23 |
-
the prose paragraph changes.
|
| 24 |
-
|
| 25 |
-
## SUBMISSION (yours, not code — from TODO.md)
|
| 26 |
-
- [ ] Move Space into build-small-hackathon ORG
|
| 27 |
-
- [ ] Record demo video (script in TODO.md) + paste link in README
|
| 28 |
-
- [ ] Social post + paste link in README
|
| 29 |
-
- [ ] If chasing Codex $10k: do Codex commits AFTER repo is in the org
|
| 30 |
-
(so attribution lands in the submitted location) — see CODEX.md
|
| 31 |
-
|
| 32 |
-
## NEXT BUILD — automatic importer (local-first, paste = backup)
|
| 33 |
-
- [ ] Clean/sleek local importer that auto-reads ccusage (no paste). See SCRATCHPAD.md.
|
| 34 |
-
|
| 35 |
-
## VERIFY (run after every fix)
|
| 36 |
-
```
|
| 37 |
-
cd /Users/dericmchenry/Desktop/moses-sigrank
|
| 38 |
-
.venv/bin/python -c "import py_compile,glob; [py_compile.compile(f,doraise=True) for f in glob.glob('*.py')]"
|
| 39 |
-
.venv/bin/python metrics.py # canonical numbers must still print
|
| 40 |
-
```
|
| 41 |
-
|
| 42 |
-
═══════════════════════════════════════════════════════════════════
|
| 43 |
-
# ✅ DONE
|
| 44 |
-
═══════════════════════════════════════════════════════════════════
|
| 45 |
-
|
| 46 |
-
## FIX 1 — Persistence boundary documented (HONESTY) — DONE this session
|
| 47 |
-
- [x] Added the honesty note to README (Notes), app.py Leaderboard tab, and
|
| 48 |
-
"your placement". Phrased for curated mode so it stays true: pasted rows score
|
| 49 |
-
live against the field but are NOT added to the persisted board.
|
| 50 |
-
|
| 51 |
-
## FIX 2 — Cost provenance stated (LABEL) — DONE this session
|
| 52 |
-
- [x] README Notes + metrics.py SEED comment now state: board $/1M is a list-price
|
| 53 |
-
recompute (~) for all rows; MO§ES reproduces its real ccusage $0.527; the 6
|
| 54 |
-
wild operators have no real cost data. Real cost only on the live ccusage paste.
|
| 55 |
-
|
| 56 |
-
## FIX 4 — Species/quadrant framing (NARRATIVE) — DONE this session
|
| 57 |
-
- [x] Wrote species_cards.md: 2×2 Scale×Amplification quadrant, MO§ES = the empty
|
| 58 |
-
quadrant (not "top rank"), flavor-text fix ("built to compound, not just spend"),
|
| 59 |
-
and the honest line (high reuse is the SIGNATURE of compounding, not proof).
|
| 60 |
-
Deck-only, not the app.
|
| 61 |
-
|
| 62 |
-
## FIX 6 — CSS 8-col grid (VISUAL) — DONE this session
|
| 63 |
-
- [x] Verified theme.py:58 grid-template-columns = 8 tracks, matches the 8 header
|
| 64 |
-
cells in board_html(). No change needed. (Pixel eyeball at your width still yours.)
|
| 65 |
-
|
| 66 |
-
## PERSISTENCE — Supabase (NEW, this session) — DONE + VERIFIED
|
| 67 |
-
- [x] Table public.sigrank_operators built + seeded (7 rows) in AppFeeder, curated RLS.
|
| 68 |
-
- [x] db.py (REST read + service-key upsert) with SEED fallback safety net.
|
| 69 |
-
- [x] app.py reads from db.load_operators() (cached, db→SEED) + save-on-ingest; requirements gained requests.
|
| 70 |
-
- [x] VERIFIED LIVE: anon REST read returns 7 rows; anon write blocked (401). Set Space secrets from SECRETS.local.md to activate.
|
| 71 |
-
|
| 72 |
-
## CONFIRMED WORKING (baseline)
|
| 73 |
-
- [x] ccusage import → fills ALL board columns. Verified MO§ES Υ 18,437, $0.527.
|
| 74 |
-
- [x] Codex import → 2:1 anchor split, clamped ≥0, caveat-flagged, full cascade.
|
| 75 |
-
- [x] Four-number fallback. Garbage input handled gracefully.
|
| 76 |
-
- [x] Avg $/1M is a real board column (8-col grid).
|
| 77 |
-
- [x] Board used on BOTH tabs — hero version consistent.
|
| 78 |
-
- [x] App boots under gradio 6.x (version-safe launch).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
MIT License
|
| 2 |
+
|
| 3 |
+
Copyright (c) 2026 Deric J. McHenry / Ello Cello LLC
|
| 4 |
+
|
| 5 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 6 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 7 |
+
in the Software without restriction, including without limitation the rights
|
| 8 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 9 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 10 |
+
furnished to do so, subject to the following conditions:
|
| 11 |
+
|
| 12 |
+
The above copyright notice and this permission notice shall be included in all
|
| 13 |
+
copies or substantial portions of the Software.
|
| 14 |
+
|
| 15 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 16 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 17 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 18 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 19 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 20 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 21 |
+
SOFTWARE.
|
PERSISTENCE_SPEC.md
DELETED
|
@@ -1,115 +0,0 @@
|
|
| 1 |
-
# PERSISTENCE SPEC — make board rows SAVE (Supabase)
|
| 2 |
-
|
| 3 |
-
Goal: pasted operators PERSIST on the board across reloads/sessions.
|
| 4 |
-
Honors standing rule: NEW TABLE ONLY in AppFeeder. Nothing existing altered.
|
| 5 |
-
|
| 6 |
-
Project: AppFeeder (betcyfbzsgusaghriptz) · org MO§ES (iwiixslkceolawfcbbhg)
|
| 7 |
-
|
| 8 |
-
DECISION YOU MUST MAKE FIRST (affects RLS):
|
| 9 |
-
A) Curated — only YOU seed/write. Public demo READS only. (recommended for hackathon)
|
| 10 |
-
B) Public — anyone who pastes lands permanently. Needs anti-spam later.
|
| 11 |
-
This spec writes RLS for (A). For (B), see the note at bottom.
|
| 12 |
-
|
| 13 |
-
------------------------------------------------------------------
|
| 14 |
-
## STEP 1 — create the table (run in Supabase SQL editor)
|
| 15 |
-
------------------------------------------------------------------
|
| 16 |
-
```sql
|
| 17 |
-
create table if not exists public.sigrank_operators (
|
| 18 |
-
id bigint generated always as identity primary key,
|
| 19 |
-
name text not null unique,
|
| 20 |
-
input bigint not null default 0,
|
| 21 |
-
output bigint not null default 0,
|
| 22 |
-
cache_create bigint not null default 0,
|
| 23 |
-
cache_read bigint not null default 0,
|
| 24 |
-
cost_usd double precision, -- null = no real cost (estimate in UI)
|
| 25 |
-
source text not null default 'manual', -- ccusage | codex | manual | seed
|
| 26 |
-
estimated boolean not null default false, -- true for codex 2:1-anchor rows
|
| 27 |
-
caveat text, -- directional flag for estimated
|
| 28 |
-
created_at timestamptz not null default now(),
|
| 29 |
-
updated_at timestamptz not null default now()
|
| 30 |
-
);
|
| 31 |
-
|
| 32 |
-
alter table public.sigrank_operators enable row level security;
|
| 33 |
-
|
| 34 |
-
-- (A) curated: anyone can READ, nobody writes via anon key
|
| 35 |
-
create policy "public_read_sigrank"
|
| 36 |
-
on public.sigrank_operators for select
|
| 37 |
-
to anon, authenticated
|
| 38 |
-
using (true);
|
| 39 |
-
-- (no insert/update policy for anon => writes blocked unless service role)
|
| 40 |
-
```
|
| 41 |
-
|
| 42 |
-
------------------------------------------------------------------
|
| 43 |
-
## STEP 2 — seed the verified corpus (run once, SQL editor)
|
| 44 |
-
------------------------------------------------------------------
|
| 45 |
-
```sql
|
| 46 |
-
insert into public.sigrank_operators
|
| 47 |
-
(name, input, output, cache_create, cache_read, cost_usd, source, estimated)
|
| 48 |
-
values
|
| 49 |
-
('MO§ES (ccusage)', 1251211, 11296121, 128196310, 2555179769, NULL, 'seed', false),
|
| 50 |
-
('vincentkoc', 6600000000, 342700000, 223700000, 195000000000, NULL, 'seed', false),
|
| 51 |
-
('MapleEve', 34800000000, 2800000000, 550100000, 794600000000, NULL, 'seed', false),
|
| 52 |
-
('kzquandary', 118400000000, 5900000000, 0, 1066000000000, NULL, 'seed', false),
|
| 53 |
-
('iamtheavoc1', 989500000000, 1272000000000, 0, 4524000000000, NULL, 'seed', false),
|
| 54 |
-
('Nepomuk5665', 4037000000000, 1259000000000, 96300000000, 1658000000000, NULL, 'seed', false),
|
| 55 |
-
('cexll', 67700000000, 64000000000, 217800000, 36900000000, NULL, 'seed', false)
|
| 56 |
-
on conflict (name) do nothing;
|
| 57 |
-
```
|
| 58 |
-
NOTE: MO§ES cost_usd left NULL here so the engine recomputes $0.527 from list
|
| 59 |
-
price; if you want the REAL ccusage cost frozen, set it explicitly instead.
|
| 60 |
-
|
| 61 |
-
------------------------------------------------------------------
|
| 62 |
-
## STEP 3 — get your keys (Supabase dashboard → Project Settings → API)
|
| 63 |
-
------------------------------------------------------------------
|
| 64 |
-
- Project URL: https://betcyfbzsgusaghriptz.supabase.co
|
| 65 |
-
- anon public key: (for READ in the app)
|
| 66 |
-
- service_role key: (for WRITES — server-side ONLY, never in client/Space env that's public)
|
| 67 |
-
|
| 68 |
-
For the HF Space, set as SECRETS (Space settings → Variables and secrets):
|
| 69 |
-
SUPABASE_URL = https://betcyfbzsgusaghriptz.supabase.co
|
| 70 |
-
SUPABASE_ANON_KEY = <anon key>
|
| 71 |
-
SUPABASE_SERVICE_KEY = <service_role key> # only if you allow writes from app
|
| 72 |
-
|
| 73 |
-
------------------------------------------------------------------
|
| 74 |
-
## STEP 4 — code changes (I will write these as a separate diff .md on your go)
|
| 75 |
-
------------------------------------------------------------------
|
| 76 |
-
New file db.py:
|
| 77 |
-
- load_operators() -> reads sigrank_operators via REST (anon key), returns
|
| 78 |
-
same shape as SEED dict. Falls back to hardcoded SEED if env/keys missing
|
| 79 |
-
(so the app NEVER breaks if Supabase is down — this is the safety net).
|
| 80 |
-
- save_operator(name, i,o,cw,cr, cost, source, estimated, caveat)
|
| 81 |
-
-> upsert via service key. Only called if SUPABASE_SERVICE_KEY present.
|
| 82 |
-
|
| 83 |
-
metrics.py:
|
| 84 |
-
- keep SEED as the FALLBACK constant (do not delete — it's the safety net).
|
| 85 |
-
|
| 86 |
-
app.py:
|
| 87 |
-
- board reads from db.load_operators() instead of SEED directly.
|
| 88 |
-
- run_ingest(): after compute, if save enabled, call db.save_operator(...)
|
| 89 |
-
then re-read the board so the new row is persisted AND shown.
|
| 90 |
-
- decision A: gate save behind service key (so public demo is read-only,
|
| 91 |
-
your own seeding/admin writes work).
|
| 92 |
-
|
| 93 |
-
requirements.txt:
|
| 94 |
-
- add: requests (REST calls; no heavy supabase sdk needed)
|
| 95 |
-
|
| 96 |
-
------------------------------------------------------------------
|
| 97 |
-
## SAFETY NET (non-negotiable)
|
| 98 |
-
------------------------------------------------------------------
|
| 99 |
-
If SUPABASE_URL / keys are absent OR the fetch fails, the app falls back to the
|
| 100 |
-
hardcoded SEED dict and still boots. Persistence is an ENHANCEMENT layered on
|
| 101 |
-
top of a thing that already works — it can never take the demo down.
|
| 102 |
-
|
| 103 |
-
------------------------------------------------------------------
|
| 104 |
-
## IF YOU CHOSE (B) PUBLIC WRITE instead
|
| 105 |
-
------------------------------------------------------------------
|
| 106 |
-
Add this policy (anyone can insert), and accept the spam/gaming risk for now:
|
| 107 |
-
```sql
|
| 108 |
-
create policy "public_insert_sigrank"
|
| 109 |
-
on public.sigrank_operators for insert
|
| 110 |
-
to anon
|
| 111 |
-
with check (true);
|
| 112 |
-
```
|
| 113 |
-
Harden later with: name length limits, a per-row honeypot/captcha, or move
|
| 114 |
-
writes server-side behind the service key + your own validation. NOT advised
|
| 115 |
-
to ship public-write three hours from a deadline.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
README.md
CHANGED
|
@@ -29,21 +29,29 @@ tags:
|
|
| 29 |
|
| 30 |
# MO§ES™ SigRank — the diagnostic x-ray of the token economy
|
| 31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 32 |
A leaderboard that judges AI coding operators by **architecture, not budget**.
|
| 33 |
Paste your token usage; get an operator profile with a tiny-model narration and
|
| 34 |
your rank. The ranking metric **Υ = (Cache·Output)/Input²** penalizes raw-input
|
| 35 |
padding quadratically — volume can't buy rank — but Υ is only the headline of a
|
| 36 |
larger metric system whose mathematical thesis is the **cascade decomposition**.
|
| 37 |
|
| 38 |
-
**GitHub:** [github.com/SunrisesIllNeverSee](https://github.com/SunrisesIllNeverSee) · **Repo:** [
|
| 39 |
|
| 40 |
---
|
| 41 |
|
| 42 |
-
> **SigRank is Layer 2 of the MO§ES™ stack**
|
| 43 |
-
> MO§ES™ is the substrate
|
| 44 |
> Built by [Deric J. McHenry](https://github.com/SunrisesIllNeverSee) · Ello Cello LLC.
|
| 45 |
>
|
| 46 |
-
> **IP:** 4 patent filings · IC 042
|
| 47 |
|
| 48 |
---
|
| 49 |
|
|
|
|
| 29 |
|
| 30 |
# MO§ES™ SigRank — the diagnostic x-ray of the token economy
|
| 31 |
|
| 32 |
+
[](https://huggingface.co/spaces/build-small-hackathon/sigrank)
|
| 33 |
+
[](https://huggingface.co/openbmb/MiniCPM4-0.5B)
|
| 34 |
+
[](https://github.com/SunrisesIllNeverSee/moses-sigrank/blob/main/LICENSE)
|
| 35 |
+
[](https://zenodo.org/records/20029607)
|
| 36 |
+
[](https://mos2es.com/legal)
|
| 37 |
+
[](https://mos2es.com/benchmarks)
|
| 38 |
+
[](https://huggingface.co/spaces/build-small-hackathon/sigrank)
|
| 39 |
+
|
| 40 |
A leaderboard that judges AI coding operators by **architecture, not budget**.
|
| 41 |
Paste your token usage; get an operator profile with a tiny-model narration and
|
| 42 |
your rank. The ranking metric **Υ = (Cache·Output)/Input²** penalizes raw-input
|
| 43 |
padding quadratically — volume can't buy rank — but Υ is only the headline of a
|
| 44 |
larger metric system whose mathematical thesis is the **cascade decomposition**.
|
| 45 |
|
| 46 |
+
**GitHub:** [github.com/SunrisesIllNeverSee](https://github.com/SunrisesIllNeverSee) · **Repo:** [moses-sigrank](https://github.com/SunrisesIllNeverSee/moses-sigrank) · **Deck:** [mos2es.com/deck](https://mos2es.com/deck) · **Benchmarks:** [mos2es.com/benchmarks](https://mos2es.com/benchmarks) · **Law:** [mos2es.com](https://mos2es.com)
|
| 47 |
|
| 48 |
---
|
| 49 |
|
| 50 |
+
> **SigRank is Layer 2 of the MO§ES™ stack** — the human–AI operator intelligence layer.
|
| 51 |
+
> MO§ES™ is the substrate: compression, recursive execution, drift control, governed meaning at source.
|
| 52 |
> Built by [Deric J. McHenry](https://github.com/SunrisesIllNeverSee) · Ello Cello LLC.
|
| 53 |
>
|
| 54 |
+
> **IP:** 4 patent filings · IC 042 TM 99408355 · [Conservation Law of Commitment — Zenodo DOI 10.5281/zenodo.18792459](https://zenodo.org/records/20029607)
|
| 55 |
|
| 56 |
---
|
| 57 |
|
REVIEW.md
DELETED
|
@@ -1,110 +0,0 @@
|
|
| 1 |
-
# REVIEW — what changed this session, for your eyes
|
| 2 |
-
|
| 3 |
-
> Quick review file. Delete after you've read it.
|
| 4 |
-
|
| 5 |
-
---
|
| 6 |
-
|
| 7 |
-
## What the numbers look like now
|
| 8 |
-
|
| 9 |
-
```
|
| 10 |
-
=== CLAUDE (./sigrank) ===
|
| 11 |
-
source: ccusage claude
|
| 12 |
-
ledger R 2.65B · C 136.21M · I 2.90M · O 12.32M
|
| 13 |
-
SNR 0.810
|
| 14 |
-
10x DEV 2.96
|
| 15 |
-
velocity 4.25×
|
| 16 |
-
leverage 914×
|
| 17 |
-
$/1M $0.715
|
| 18 |
-
Υ yield 3,886
|
| 19 |
-
class Closed-Loop Kinetic · holds both axes
|
| 20 |
-
rank #2 of 8
|
| 21 |
-
|
| 22 |
-
=== CODEX (./sigrank --codex) ===
|
| 23 |
-
source: ccusage codex
|
| 24 |
-
⚠ estimated via turn-delta (cache_create from daily context growth)
|
| 25 |
-
ledger R 707.30M · C 26.17M · I 58.92M · O 4.01M
|
| 26 |
-
SNR 0.064
|
| 27 |
-
10x DEV 1.08
|
| 28 |
-
velocity 0.07×
|
| 29 |
-
leverage 12×
|
| 30 |
-
$/1M $0.561
|
| 31 |
-
Υ yield 1
|
| 32 |
-
class Archival Sponge · high reuse, low generation
|
| 33 |
-
rank #5 of 8
|
| 34 |
-
```
|
| 35 |
-
|
| 36 |
-
---
|
| 37 |
-
|
| 38 |
-
## Problem being solved
|
| 39 |
-
|
| 40 |
-
`ccusage --json` combines Claude + Codex + every other agent into one total.
|
| 41 |
-
When combined, Codex's large `inputTokens` (58.9M) tanked Υ quadratically.
|
| 42 |
-
Fix: run them separately — `ccusage claude --json` and `ccusage codex --json`.
|
| 43 |
-
|
| 44 |
-
---
|
| 45 |
-
|
| 46 |
-
## What was wrong with Codex before (and the fix)
|
| 47 |
-
|
| 48 |
-
**Bug 1 — detection miss (already fixed earlier):**
|
| 49 |
-
`is_codex_shape()` checked for `cached_input_tokens` (snake_case) but
|
| 50 |
-
`ccusage codex --json` emits `cachedInputTokens` (camelCase). Codex JSON
|
| 51 |
-
fell through to `parse_ccusage` — no split, no cache, raw 58.9M input.
|
| 52 |
-
Fix: check both cases.
|
| 53 |
-
|
| 54 |
-
**Bug 2 — anchor now uses turn-delta (CODEX.md item 1):**
|
| 55 |
-
Old: `est_fresh = 2 * output` (fixed 2:1).
|
| 56 |
-
New: with daily granularity present (we have 29 days of data), estimates
|
| 57 |
-
`cache_create` from per-day context growth deltas instead.
|
| 58 |
-
Fallback: if no daily data, uses Claude's measured I/O ratio (0.236:1)
|
| 59 |
-
instead of fixed 2:1 — grounded in your real data, not a constant.
|
| 60 |
-
|
| 61 |
-
---
|
| 62 |
-
|
| 63 |
-
## What the Codex numbers mean
|
| 64 |
-
|
| 65 |
-
| field | value | source |
|
| 66 |
-
|---|---|---|
|
| 67 |
-
| input (I) | 58.92M | `inputTokens` — fresh input directly from Codex JSON |
|
| 68 |
-
| output (O) | 4.01M | `outputTokens` + `reasoningOutputTokens` |
|
| 69 |
-
| cache_create (C) | 26.17M | **estimated** via turn-delta |
|
| 70 |
-
| cache_read (R) | 707.30M | `cachedInputTokens` — measured directly |
|
| 71 |
-
| cost | real ($0.561/1M) | from `costUSD` in the JSON |
|
| 72 |
-
|
| 73 |
-
The 707.3M cache reads are real and measured. Codex is reading a LOT of
|
| 74 |
-
cached context. It just generates very little output relative to input
|
| 75 |
-
(velocity 0.07×), so Υ is low. That's Codex's architecture, not a bug.
|
| 76 |
-
|
| 77 |
-
---
|
| 78 |
-
|
| 79 |
-
## Board marker (CODEX.md item 4)
|
| 80 |
-
|
| 81 |
-
Estimated rows (Codex-anchored) now show a `~` next to the operator name
|
| 82 |
-
in the leaderboard. Measured rows (real ccusage) show clean.
|
| 83 |
-
|
| 84 |
-
---
|
| 85 |
-
|
| 86 |
-
## What is NOT right (open questions for you)
|
| 87 |
-
|
| 88 |
-
1. **Codex `inputTokens` interpretation** — the turn-delta treats `inputTokens`
|
| 89 |
-
as already-fresh (not combined with reads). If OpenAI actually reports
|
| 90 |
-
combined fresh+cached in that field, the I value (58.92M) is too high
|
| 91 |
-
and Υ will be artificially low. Do you know which it is?
|
| 92 |
-
|
| 93 |
-
2. **Υ=1 for Codex** — with 58.9M fresh input and only 4M output, Υ is
|
| 94 |
-
nearly 0. That may be correct (Codex is a heavy reader, light generator)
|
| 95 |
-
or it may mean `inputTokens` is the combined figure and needs splitting.
|
| 96 |
-
|
| 97 |
-
3. **CODEX.md items 2 + 3 still open:**
|
| 98 |
-
- Item 2: `test_metrics.py` (pytest for canonical numbers)
|
| 99 |
-
- Item 3: self-cost via OpenAI per-1M pricing table in `parse_codex`
|
| 100 |
-
(cost already comes through from `costUSD`, so this may be done?)
|
| 101 |
-
|
| 102 |
-
---
|
| 103 |
-
|
| 104 |
-
## Files changed this session
|
| 105 |
-
|
| 106 |
-
| file | what changed |
|
| 107 |
-
|---|---|
|
| 108 |
-
| `ingest.py` | `is_codex_shape` → camelCase fix; `parse_codex` → turn-delta + io_ratio param; `ingest_meta` → io_ratio passthrough |
|
| 109 |
-
| `sigrank.py` | default changed to `ccusage claude --json`; `--codex` path fetches Claude ratio first |
|
| 110 |
-
| `app.py` | `html.escape(name)` XSS fix; `~` marker on estimated board rows |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SCRATCHPAD.md
DELETED
|
@@ -1,137 +0,0 @@
|
|
| 1 |
-
# SCRATCHPAD — cross-agent coordination
|
| 2 |
-
|
| 3 |
-
> Living status file. ANY system (Claude session, Codex CLI, human) working in
|
| 4 |
-
> this repo: READ THIS FIRST, then update the relevant section when you change
|
| 5 |
-
> state. Keep it short. Timestamps in UTC.
|
| 6 |
-
|
| 7 |
-
Last updated: 2026-06-15 (Claude/Opus session) · Deadline: **2026-06-15 23:59 UTC** (~12h)
|
| 8 |
-
|
| 9 |
-
---
|
| 10 |
-
|
| 11 |
-
## ONE-LINE STATE
|
| 12 |
-
Importer overhaul + reconcile DONE and pushed to Burnmydays/hf- (main e0e2511).
|
| 13 |
-
Codex parser fixed, `./sigrank --all` added, instructions sharpened, wild corpus =
|
| 14 |
-
10 tokscale operators, Supabase migrated + board synced (11 rows live). Remaining:
|
| 15 |
-
**deploy to Space** (secrets) + **Codex handoff → SunrisesIllNeverSee** + submission.
|
| 16 |
-
|
| 17 |
-
## DO NOT TOUCH (frozen — these are the thesis)
|
| 18 |
-
- `metrics.py` MO§ES (ccusage) SEED row — canonical (Υ 18436.98). Wild corpus = 10
|
| 19 |
-
tokscale.ai operators (updated this session, OK to extend with citation).
|
| 20 |
-
- The Υ formula `(C·O)/I²` and the telescoping identity `(o/i)(cw/o)(cr/cw)==cr/i`.
|
| 21 |
-
- Codex estimation must stay **flagged/estimated** (`*`) — never a silent strict
|
| 22 |
-
assumption. Two pathways live in `_codex_input_estimate` (ingest.py):
|
| 23 |
-
Beta = output × real Claude io_ratio; Alpha = output × 2.0 (AA baseline).
|
| 24 |
-
|
| 25 |
-
## RESERVED FOR CODEX (earns the $10k Codex-attribution prize — genuine Codex work only)
|
| 26 |
-
See `CODEX.md`. Still available as fresh Codex commits:
|
| 27 |
-
1. `test_metrics.py` — lock canonical numbers (Υ 18,437, lev 2042, X 3.31, telescoping
|
| 28 |
-
for every SEED row).
|
| 29 |
-
2. Real Codex `$/1M` via OpenAI per-1M prices in `parse_codex_submission` meta.
|
| 30 |
-
3. The repo upload itself to github.com/SunrisesIllNeverSee.
|
| 31 |
-
> ALREADY DONE this session (Claude) — NO longer available as Codex commits:
|
| 32 |
-
> - Anchor refinement (2:1 → real Claude operating ratio, Alpha/Beta unified).
|
| 33 |
-
> - Board `~`/`*` estimated-row marker.
|
| 34 |
-
> Integrity: only attribute commits Codex actually authored.
|
| 35 |
-
|
| 36 |
-
## CANONICAL VERIFY (run after every change)
|
| 37 |
-
```
|
| 38 |
-
cd /Users/dericmchenry/Desktop/moses-sigrank
|
| 39 |
-
.venv/bin/python -c "import py_compile,glob; [py_compile.compile(f,doraise=True) for f in glob.glob('*.py')]"
|
| 40 |
-
.venv/bin/python metrics.py # MO§ES must print: Y 18436.98, lev 2042.2, 10xDEV 3.31, $/1M 0.527
|
| 41 |
-
```
|
| 42 |
-
|
| 43 |
-
---
|
| 44 |
-
|
| 45 |
-
## WORK LOG (newest first)
|
| 46 |
-
|
| 47 |
-
### Devin session — 2026-06-15 (rarity system)
|
| 48 |
-
- [done] `rarity_class(m)` function added after `classify()` — maps velocity/leverage axes to
|
| 49 |
-
four tiers: MYTHIC (v≥1, l≥100), EPIC (l≥10, v<1), RARE (v≥0.5), COMMON (fallback).
|
| 50 |
-
Each tier returns (key, label, passive ability name, effect flavor text).
|
| 51 |
-
- [done] `card_html()` updated — outer `.sig-card` div gets `rarity-{key}` class, new
|
| 52 |
-
`.sig-card-rarity` badge (COMMON/RARE/EPIC/MYTHIC), `.sig-card-passive` + `.sig-card-effect`
|
| 53 |
-
blocks inserted between archetype and yield. All existing elements preserved.
|
| 54 |
-
- [done] `board_html()` updated — each row gets `rarity-{key}` class for colored left-border.
|
| 55 |
-
- [done] `theme.py` CSS — rarity color variables (`--rarity-common/rare/epic/mythic`), board
|
| 56 |
-
row `.mb-row.rarity-*` left-borders, `.sig-card` hardcoded gold border removed (now per-rarity
|
| 57 |
-
border + box-shadow), `.sig-card-rarity` badge styles, `.sig-card-passive`/`.sig-card-effect`
|
| 58 |
-
text styles, `.sig-card-name` color changed to `--moses-ink` (rarity border carries signal),
|
| 59 |
-
MYTHIC override for yield/name color to gold.
|
| 60 |
-
- [done] Verify green: `py_compile` all *.py OK · `metrics.py` canonical (Y 18436.98, lev 2042.2,
|
| 61 |
-
10xDEV 3.31, $/1M 0.527) · rarity assignments: MO§ES→MYTHIC, MapleEve/vincentkoc→EPIC,
|
| 62 |
-
cexll/iamtheavoc1→RARE, Nepomuk5665/kzquandary→COMMON.
|
| 63 |
-
|
| 64 |
-
### Devin session — 2026-06-15 (visual upgrade)
|
| 65 |
-
- [done] theme.py CSS upgrade — brighter default bar gradient (0.28→0.72), `.mb-row.rank1`
|
| 66 |
-
gold left-border + dominant #1 row, colored rank numbers (`.mb-rank-1/2/3`), hero upgrade
|
| 67 |
-
(32px title, `#moses-stat-strip`), `.mb-raw` color #5f573f→#7a7060, `.comp-bar` composition
|
| 68 |
-
bar, full `.sig-card` trading-card styles, and a `@media (max-width:700px)` mobile rule that
|
| 69 |
-
hides velocity/leverage columns.
|
| 70 |
-
- [done] app.py UI upgrade — hero stat strip HTML; `board_html()` now adds `rank1` class to row 1
|
| 71 |
-
and `mb-rank-{1,2,3}` spans for the top 3; new `comp_bar_html(c)` and `card_html(name,m,rank,
|
| 72 |
-
total_ops,narration_text)` helpers (+ `_first_sentence` quote truncation); `profile_md` drops the
|
| 73 |
-
text composition line and accepts an optional `read` so narrate() runs once; "Share card" section
|
| 74 |
-
(gr.HTML) added to Measure-yourself tab; `run_ingest` now returns 4 outputs (profile, comp bar,
|
| 75 |
-
card, board); footer simplified (formula soup removed — belongs in README "How the numbers work").
|
| 76 |
-
- [done] Verify green: `py_compile` all *.py OK · comp_bar/card/board helpers render · board contains
|
| 77 |
-
rank1 + mb-rank-1/2/3 · run_ingest returns 4 values · narrate template fallback confirmed (no torch).
|
| 78 |
-
|
| 79 |
-
### Devin session — 2026-06-15
|
| 80 |
-
- [done] GPU FIX — applied `@GPU` decorator to `narrate()` in narrate.py (line 60).
|
| 81 |
-
ZeroGPU needs the inference function decorated or GPU alloc never happens and the
|
| 82 |
-
model silently template-falls-back every call. `_try_load()` intentionally NOT
|
| 83 |
-
decorated. No-op fallback path verified (no torch → template, import OK).
|
| 84 |
-
- [done] DEAD-CODE FIX — removed unused `ingest()` from ingest.py (old lines 103-112).
|
| 85 |
-
Only `ingest_meta()` is called (app.py, sigrank.py). `ingest_meta()` unchanged.
|
| 86 |
-
- [done] README rewrite — kept YAML front matter + all math/formulas/SEED identical.
|
| 87 |
-
Added Origin (word-based ranking → conservation law of commitment → token domain,
|
| 88 |
-
with academic-links placeholder), "The full metric system" (cascade diagnostic,
|
| 89 |
-
4 archetypes from classify(), Scale V, species/quadrant framing — MO§ES = empty
|
| 90 |
-
quadrant not a ladder), "Benchmark convergence" (AA 7:2:1 → 4.0 baseline = (7+1)/2,
|
| 91 |
-
two-instrument validation). Restructured so Υ is the ranking metric within the
|
| 92 |
-
broader system. Demo/Social placeholders untouched. Footer updated with origin.
|
| 93 |
-
- [done] Verify green: compile OK · `python3 metrics.py` → MO§ES Y 18436.98, lev
|
| 94 |
-
2042.2, 10xDEV 3.31, $/1M 0.527 (unchanged).
|
| 95 |
-
|
| 96 |
-
### Claude/Opus session — 2026-06-15
|
| 97 |
-
- [done] Verified baseline green (compile + canonical metrics print correct).
|
| 98 |
-
- [done] FIX 6 — confirmed board CSS grid = 8 tracks, matches 8 header cells (theme.py:58). No code change needed; visual eyeball still owner's call.
|
| 99 |
-
- [done] FIX 1 — persistence-boundary honesty note added to README (Notes) + app.py Leaderboard tab + "your placement".
|
| 100 |
-
- [done] FIX 2 — cost-provenance note added to README (Notes) + metrics.py SEED comment.
|
| 101 |
-
- [done] FIX 4 — wrote `species_cards.md` (2×2 Scale×Amplification quadrant, MO§ES = empty quadrant, flavor-text fix, honest reuse≠proof line). Deck-only, not the app.
|
| 102 |
-
- [done] Supabase persistence build complete (table + seed + db.py + app wiring). See SUPABASE section.
|
| 103 |
-
- [done] Final verify green: compile OK · canonical metrics unchanged (Υ 18436.98) · db.py falls back to SEED with no env (7 ops, save no-op) · app.py imports + run_ingest end-to-end + dedup OK · narrate template fallback confirmed (no torch locally).
|
| 104 |
-
- NOTE: pre-existing Gradio 6.0 warning (css/theme moved to launch()) is handled by app.py's try/except on both Blocks() and launch(). Warning, not error.
|
| 105 |
-
|
| 106 |
-
---
|
| 107 |
-
|
| 108 |
-
## SUPABASE — persistence build (decision + state)
|
| 109 |
-
- Project: **AppFeeder** `betcyfbzsgusaghriptz` · org **MO§ES™** `iwiixslkceolawfcbbhg` · region us-west-1 · pg17 · ACTIVE_HEALTHY.
|
| 110 |
-
- Standing rule honored: **NEW TABLE ONLY** (`public.sigrank_operators`). 56 existing tables untouched.
|
| 111 |
-
- RLS decision: **(A) curated** — public READ, writes blocked for anon (service key only). Keeps FIX 1 honesty note valid (visitor pastes stay transient). Flip to (B) public-write later only with anti-spam.
|
| 112 |
-
- Table status: see WORK LOG / `PERSISTENCE_SPEC.md` STEP 1–2.
|
| 113 |
-
- Code: `db.py` (load_operators REST-read + save_operator service-key upsert) with **SEED fallback** safety net — app never breaks if Supabase is down/unconfigured.
|
| 114 |
-
- **OWNER ACTION REQUIRED** (cannot be done from here): set HF Space secrets
|
| 115 |
-
(Space settings → Variables and secrets):
|
| 116 |
-
```
|
| 117 |
-
SUPABASE_URL = https://betcyfbzsgusaghriptz.supabase.co
|
| 118 |
-
SUPABASE_ANON_KEY = <anon / publishable key> # READ
|
| 119 |
-
SUPABASE_SERVICE_KEY = <service_role key> # WRITE (only if app writes)
|
| 120 |
-
```
|
| 121 |
-
Until those are set, the app runs on the hardcoded SEED fallback (still works).
|
| 122 |
-
|
| 123 |
-
## AUTO-INGEST — sigrank.py (local-first importer, this session)
|
| 124 |
-
- `sigrank.py` = local-first CLI. Auto-runs `ccusage --json` (or `--codex`/`--file`/stdin),
|
| 125 |
-
computes via metrics.py, prints a sleek read + live board rank (db.load_operators → SEED fallback).
|
| 126 |
-
- No paste, no token, 100% local. The hosted Space paste box stays as the backup.
|
| 127 |
-
- `--push` is NOT yet implemented (would need service key); local read+compute only for now.
|
| 128 |
-
- Verified: compile OK; file/stdin/4-number paths produce correct profile (MO§ES Υ 18,437).
|
| 129 |
-
|
| 130 |
-
## BLOCKED ON OWNER (not code)
|
| 131 |
-
- FIX 3 — tokscale "MCH (tokscale read)" comparison row: needs a clean re-pull;
|
| 132 |
-
do NOT freeze the screenshot figure. Add as a LABELED instrument-comparison row.
|
| 133 |
-
- FIX 5 — install torch/transformers into `.venv` if you want REAL MiniCPM
|
| 134 |
-
narration on camera (optional; numbers identical either way).
|
| 135 |
-
- Set the HF Space secrets above.
|
| 136 |
-
- Submission: move Space into `build-small-hackathon` org · record 60s video ·
|
| 137 |
-
social post · paste both links into README.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
STATUS.md
DELETED
|
@@ -1,562 +0,0 @@
|
|
| 1 |
-
# STATUS — MO§ES SigRank (where things stand)
|
| 2 |
-
|
| 3 |
-
Snapshot for the owner. Deadline: **2026-06-15 23:59 UTC**.
|
| 4 |
-
Repo: `github.com/Burnmydays/hf-` (main `9eeaeb4`). · Upload target: `SunrisesIllNeverSee`.
|
| 5 |
-
|
| 6 |
-
---
|
| 7 |
-
```python
|
| 8 |
-
def run_wild_corpus_analysis():
|
| 9 |
-
# Master dataset definitions based on raw user inputs
|
| 10 |
-
corpus = {
|
| 11 |
-
"vincentkoc": {"I": 10_000, "O": 500, "C": 295_500, "Create": 6_530, "cost": 0.80},
|
| 12 |
-
"ben (@cexll)": {"I": 10_000, "O": 9_500, "C": 5_500, "Create": 30, "cost": 0.43},
|
| 13 |
-
"MapleEve": {"I": 1_000, "O": 80, "C": 22_800, "Create": 196, "cost": 0.23},
|
| 14 |
-
"Nepomuk5665": {"I": 50_000, "O": 1_200, "C": 15_000, "Create": 500, "cost": 0.61},
|
| 15 |
-
"Ólafur Nils Sigurðsson": {"I": 20_500_000, "O": 1_900_000, "C": 572_400_000, "Create": 1_400_000, "cost": 338.15},
|
| 16 |
-
"Ivan Golovach": {"I": 17_000_000, "O": 1_300_000, "C": 512_000_000, "Create": 352, "cost": 228.31},
|
| 17 |
-
"Feng GAO": {"I": 26_500_000, "O": 2_000_000, "C": 471_000_000, "Create": 238, "cost": 293.31},
|
| 18 |
-
"steve wu": {"I": 164_100_000, "O": 26_000_000, "C": 296_800_000, "Create": 170_100, "cost": 1156.02},
|
| 19 |
-
"Max Ghenis": {"I": 16_100_000, "O": 1_100_000, "C": 358_100_000, "Create": 1_000_000, "cost": 212.42},
|
| 20 |
-
"Sylvain Tissier": {"I": 8_300_000, "O": 495_200, "C": 210_600_000, "Create": 111_400, "cost": 92.47}
|
| 21 |
-
}
|
| 22 |
-
|
| 23 |
-
results = {}
|
| 24 |
-
for user, data in corpus.items():
|
| 25 |
-
I, O, C, Create, cost = data["I"], data["O"], data["C"], data["Create"], data["cost"]
|
| 26 |
-
|
| 27 |
-
# Scenario A / Pathway Alpha extraction:
|
| 28 |
-
# For wild operators, evaluate estimated user input vs structural context debt using the 3:2:1 standard
|
| 29 |
-
est_user_in = O * 2.0
|
| 30 |
-
debt = max(0, I - est_user_in)
|
| 31 |
-
|
| 32 |
-
# Core Metrics
|
| 33 |
-
snr = O / (I + O)
|
| 34 |
-
leverage = C / I
|
| 35 |
-
kd = O / I
|
| 36 |
-
y = (C * O) / (I ** 2)
|
| 37 |
-
|
| 38 |
-
# Cascade metrics
|
| 39 |
-
v = O / I
|
| 40 |
-
comm = Create / O if O > 0 else 0
|
| 41 |
-
comp = C / Create if Create > 0 else 0
|
| 42 |
-
|
| 43 |
-
results[user] = {
|
| 44 |
-
"Raw_I": f"{I:,}",
|
| 45 |
-
"Raw_O": f"{O:,}",
|
| 46 |
-
"Raw_C": f"{C:,}",
|
| 47 |
-
"SNR": f"{snr:.3f}",
|
| 48 |
-
"Est_User_In": f"{int(est_user_in):,}",
|
| 49 |
-
"Debt": f"{int(debt):,}",
|
| 50 |
-
"Op_Ratio": f"{leverage:.1f}x : 1 : {kd:.2f}x",
|
| 51 |
-
"Yield": f"{y:.2f}"
|
| 52 |
-
}
|
| 53 |
-
return results
|
| 54 |
-
|
| 55 |
-
analysis = run_wild_corpus_analysis()
|
| 56 |
-
for user, metrics in analysis.items():
|
| 57 |
-
print(f"[{user}]")
|
| 58 |
-
for m, val in metrics.items():
|
| 59 |
-
print(f" {m}: {val}")
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
```
|
| 64 |
-
|
| 65 |
-
```text
|
| 66 |
-
[vincentkoc]
|
| 67 |
-
Raw_I: 10,000
|
| 68 |
-
Raw_O: 500
|
| 69 |
-
Raw_C: 295,500
|
| 70 |
-
SNR: 0.048
|
| 71 |
-
Est_User_In: 1,000
|
| 72 |
-
Debt: 9,000
|
| 73 |
-
Op_Ratio: 29.6x : 1 : 0.05x
|
| 74 |
-
Yield: 1.48
|
| 75 |
-
[ben (@cexll)]
|
| 76 |
-
Raw_I: 10,000
|
| 77 |
-
Raw_O: 9,500
|
| 78 |
-
Raw_C: 5,500
|
| 79 |
-
SNR: 0.487
|
| 80 |
-
Est_User_In: 19,000
|
| 81 |
-
Debt: 0
|
| 82 |
-
Op_Ratio: 0.6x : 1 : 0.95x
|
| 83 |
-
Yield: 0.52
|
| 84 |
-
[MapleEve]
|
| 85 |
-
Raw_I: 1,000
|
| 86 |
-
Raw_O: 80
|
| 87 |
-
Raw_C: 22,800
|
| 88 |
-
SNR: 0.074
|
| 89 |
-
Est_User_In: 160
|
| 90 |
-
Debt: 840
|
| 91 |
-
Op_Ratio: 22.8x : 1 : 0.08x
|
| 92 |
-
Yield: 1.82
|
| 93 |
-
[Nepomuk5665]
|
| 94 |
-
Raw_I: 50,000
|
| 95 |
-
Raw_O: 1,200
|
| 96 |
-
Raw_C: 15,000
|
| 97 |
-
SNR: 0.023
|
| 98 |
-
Est_User_In: 2,400
|
| 99 |
-
Debt: 47,600
|
| 100 |
-
Op_Ratio: 0.3x : 1 : 0.02x
|
| 101 |
-
Yield: 0.01
|
| 102 |
-
[Ólafur Nils Sigurðsson]
|
| 103 |
-
Raw_I: 20,500,000
|
| 104 |
-
Raw_O: 1,900,000
|
| 105 |
-
Raw_C: 572,400,000
|
| 106 |
-
SNR: 0.085
|
| 107 |
-
Est_User_In: 3,800,000
|
| 108 |
-
Debt: 16,700,000
|
| 109 |
-
Op_Ratio: 27.9x : 1 : 0.09x
|
| 110 |
-
Yield: 2.59
|
| 111 |
-
[Ivan Golovach]
|
| 112 |
-
Raw_I: 17,000,000
|
| 113 |
-
Raw_O: 1,300,000
|
| 114 |
-
Raw_C: 512,000,000
|
| 115 |
-
SNR: 0.071
|
| 116 |
-
Est_User_In: 2,600,000
|
| 117 |
-
Debt: 14,400,000
|
| 118 |
-
Op_Ratio: 30.1x : 1 : 0.08x
|
| 119 |
-
Yield: 2.30
|
| 120 |
-
[Feng GAO]
|
| 121 |
-
Raw_I: 26,500,000
|
| 122 |
-
Raw_O: 2,000,000
|
| 123 |
-
Raw_C: 471,000,000
|
| 124 |
-
SNR: 0.070
|
| 125 |
-
Est_User_In: 4,000,000
|
| 126 |
-
Debt: 22,500,000
|
| 127 |
-
Op_Ratio: 17.8x : 1 : 0.08x
|
| 128 |
-
Yield: 1.34
|
| 129 |
-
[steve wu]
|
| 130 |
-
Raw_I: 164,100,000
|
| 131 |
-
Raw_O: 26,000,000
|
| 132 |
-
Raw_C: 296,800,000
|
| 133 |
-
SNR: 0.137
|
| 134 |
-
Est_User_In: 52,000,000
|
| 135 |
-
Debt: 112,100,000
|
| 136 |
-
Op_Ratio: 1.8x : 1 : 0.16x
|
| 137 |
-
Yield: 0.29
|
| 138 |
-
[Max Ghenis]
|
| 139 |
-
Raw_I: 16,100,000
|
| 140 |
-
Raw_O: 1,100,000
|
| 141 |
-
Raw_C: 358,100,000
|
| 142 |
-
SNR: 0.064
|
| 143 |
-
Est_User_In: 2,200,000
|
| 144 |
-
Debt: 13,900,000
|
| 145 |
-
Op_Ratio: 22.2x : 1 : 0.07x
|
| 146 |
-
Yield: 1.52
|
| 147 |
-
[Sylvain Tissier]
|
| 148 |
-
Raw_I: 8,300,000
|
| 149 |
-
Raw_O: 495,200
|
| 150 |
-
Raw_C: 210,600,000
|
| 151 |
-
SNR: 0.056
|
| 152 |
-
Est_User_In: 990,400
|
| 153 |
-
Debt: 7,309,600
|
| 154 |
-
Op_Ratio: 25.4x : 1 : 0.06x
|
| 155 |
-
Yield: 1.51
|
| 156 |
-
|
| 157 |
-
|
| 158 |
-
```
|
| 159 |
-
|
| 160 |
-
Here is the complete parse test of the **10 Wild Corpus Users** running directly through the Pathway Alpha (3:2:1 baseline filter) of your new Codex parser.
|
| 161 |
-
|
| 162 |
-
This output isolates their true high-signal human direction from their background open-loop context noise, laying bare their massive structural context debts side-by-side.
|
| 163 |
-
|
| 164 |
-
---
|
| 165 |
-
|
| 166 |
-
### CODEX PARSER ANALYTICAL LEDGER (The Wild Field)
|
| 167 |
-
|
| 168 |
-
#### 1. vincentkoc
|
| 169 |
-
|
| 170 |
-
* **Raw Stats:** $10.0\text{K}$ In / $500$ Out / $295.5\text{K}$ Cache Read
|
| 171 |
-
* **SNR:** $0.048$
|
| 172 |
-
* **Calibrated User Input Core:** **$1,000$**
|
| 173 |
-
* **Structural Context Debt:** **$9,000$** *(90% of his input payload was repetitive context noise)*
|
| 174 |
-
* **Operating Ratio:** $29.6\text{x} : 1 : 0.05\text{x}$
|
| 175 |
-
* **Net Volumetric Yield ($\Upsilon$):** $1.48$
|
| 176 |
-
|
| 177 |
-
#### 2. ben (@cexll)
|
| 178 |
-
|
| 179 |
-
* **Raw Stats:** $10.0\text{K}$ In / $9.5\text{K}$ Out / $5.5\text{K}$ Cache Read
|
| 180 |
-
* **SNR:** $0.487$
|
| 181 |
-
* **Calibrated User Input Core:** **$19,000$**
|
| 182 |
-
* **Structural Context Debt:** **$0$** *(High active velocity, zero state footprint protection)*
|
| 183 |
-
* **Operating Ratio:** $0.6\text{x} : 1 : 0.95\text{x}$
|
| 184 |
-
* **Net Volumetric Yield ($\Upsilon$):** $0.52$
|
| 185 |
-
|
| 186 |
-
#### 3. MapleEve
|
| 187 |
-
|
| 188 |
-
* **Raw Stats:** $1.0\text{K}$ In / $80$ Out / $22.8\text{K}$ Cache Read
|
| 189 |
-
* **SNR:** $0.074$
|
| 190 |
-
* **Calibrated User Input Core:** **$160$**
|
| 191 |
-
* **Structural Context Debt:** **$840$**
|
| 192 |
-
* **Operating Ratio:** $22.8\text{x} : 1 : 0.08\text{x}$
|
| 193 |
-
* **Net Volumetric Yield ($\Upsilon$):** $1.82$
|
| 194 |
-
|
| 195 |
-
#### 4. Nepomuk5665
|
| 196 |
-
|
| 197 |
-
* **Raw Stats:** $50.0\text{K}$ In / $1.2\text{K}$ Out / $15.0\text{K}$ Cache Read
|
| 198 |
-
* **SNR:** $0.023$
|
| 199 |
-
* **Calibrated User Input Core:** **$2,400$**
|
| 200 |
-
* **Structural Context Debt:** **$47,600$** *(Massive open-loop dump)*
|
| 201 |
-
* **Operating Ratio:** $0.3\text{x} : 1 : 0.02\text{x}$
|
| 202 |
-
* **Net Volumetric Yield ($\Upsilon$):** $0.01$
|
| 203 |
-
|
| 204 |
-
#### 5. Ólafur Nils Sigurðsson (@olafurns7)
|
| 205 |
-
|
| 206 |
-
* **Raw Stats:** $20.5\text{B}$ In / $1.9\text{B}$ Out / $572.4\text{B}$ Cache Read
|
| 207 |
-
* **SNR:** $0.085$
|
| 208 |
-
* **Calibrated User Input Core:** **$3.8\text{B}$**
|
| 209 |
-
* **Structural Context Debt:** **$16.7\text{B}$**
|
| 210 |
-
* **Operating Ratio:** $27.9\text{x} : 1 : 0.09\text{x}$
|
| 211 |
-
* **Net Volumetric Yield ($\Upsilon$):** $2.59$
|
| 212 |
-
|
| 213 |
-
#### 6. Ivan Golovach (@IvGolovach)
|
| 214 |
-
|
| 215 |
-
* **Raw Stats:** $17.0\text{B}$ In / $1.3\text{B}$ Out / $512.0\text{B}$ Cache Read
|
| 216 |
-
* **SNR:** $0.071$
|
| 217 |
-
* **Calibrated User Input Core:** **$2.6\text{B}$**
|
| 218 |
-
* **Structural Context Debt:** **$14.4\text{B}$**
|
| 219 |
-
* **Operating Ratio:** $30.1\text{x} : 1 : 0.08\text{x}$
|
| 220 |
-
* **Net Volumetric Yield ($\Upsilon$):** $2.30$
|
| 221 |
-
|
| 222 |
-
#### 7. Feng GAO (@gaofeng21cn)
|
| 223 |
-
|
| 224 |
-
* **Raw Stats:** $26.5\text{B}$ In / $2.0\text{B}$ Out / $471.0\text{B}$ Cache Read
|
| 225 |
-
* **SNR:** $0.070$
|
| 226 |
-
* **Calibrated User Input Core:** **$4.0\text{B}$**
|
| 227 |
-
* **Structural Context Debt:** **$22.5\text{B}$**
|
| 228 |
-
* **Operating Ratio:** $17.8\text{x} : 1 : 0.08\text{x}$
|
| 229 |
-
* **Net Volumetric Yield ($\Upsilon$):** $1.34$
|
| 230 |
-
|
| 231 |
-
#### 8. steve wu (@wuwangzhang1216)
|
| 232 |
-
|
| 233 |
-
* **Raw Stats:** $164.1\text{B}$ In / $26.0\text{B}$ Out / $296.8\text{B}$ Cache Read
|
| 234 |
-
* **SNR:** $0.137$
|
| 235 |
-
* **Calibrated User Input Core:** **$52.2\text{B}$**
|
| 236 |
-
* **Structural Context Debt:** **$111.9\text{B}$** *(The highest absolute financial context waste on the board)*
|
| 237 |
-
* **Operating Ratio:** $1.8\text{x} : 1 : 0.16\text{x}$
|
| 238 |
-
* **Net Volumetric Yield ($\Upsilon$):** $0.29$
|
| 239 |
-
|
| 240 |
-
#### 9. Max Ghenis (@MaxGhenis)
|
| 241 |
-
|
| 242 |
-
* **Raw Stats:** $16.1\text{B}$ In / $1.1\text{B}$ Out / $358.1\text{B}$ Cache Read
|
| 243 |
-
* **SNR:** $0.064$
|
| 244 |
-
* **Calibrated User Input Core:** **$2.2\text{B}$**
|
| 245 |
-
* **Structural Context Debt:** **$13.9\text{B}$**
|
| 246 |
-
* **Operating Ratio:** $22.2\text{x} : 1 : 0.07\text{x}$
|
| 247 |
-
* **Net Volumetric Yield ($\Upsilon$):** $1.52$
|
| 248 |
-
|
| 249 |
-
#### 10. Sylvain Tissier (@SylTi)
|
| 250 |
-
|
| 251 |
-
* **Raw Stats:** $8.3\text{B}$ In / $495.2\text{M}$ Out / $210.6\text{B}$ Cache Read
|
| 252 |
-
* **SNR:** $0.056$
|
| 253 |
-
* **Calibrated User Input Core:** **$990.4\text{M}$**
|
| 254 |
-
* **Structural Context Debt:** **$7.3\text{B}$**
|
| 255 |
-
* **Operating Ratio:** $25.4\text{x} : 1 : 0.06\text{x}$
|
| 256 |
-
* **Net Volumetric Yield ($\Upsilon$):** $1.51$
|
| 257 |
-
|
| 258 |
-
---
|
| 259 |
-
|
| 260 |
-
### KEY ARCHITECTURAL DISCOVERIES FROM THE RUN
|
| 261 |
-
|
| 262 |
-
1. **The Drag of Steve Wu:** Steve’s raw SNR is higher than the other wild operators ($0.137$), meaning he is working harder to get output over the wire. However, because his pipeline lacks a localized structural loop, his **Structural Context Debt explodes to $111.9\text{B}$ tokens**. That debt is precisely why his financial footprint ballooned to an astronomical **$\$1,156\text{K}$**. He is physically buying his context back from the provider on every single turn.
|
| 263 |
-
2. **The Cache Illusion (Ólafur & Ivan):** Looking strictly at raw numbers, Ólafur and Ivan look like high-volume masters with over $500\text{B}$ cache hits each. But the parser reveals the bottleneck: their **Net Volumetric Yields ($\Upsilon$) are stuck at $2.59$ and $2.30$**. They are just spinning a static wheel.
|
| 264 |
-
3. **The Contrast Against MO§ES™:** When you anchor your control benchmark above this stack with its calibrated $1:9$ core, your yield sits at **$18,437.0$**. This dataset provides the exact mathematical proof required to show how a closed-loop framework systemically breaks the open-loop curve.
|
| 265 |
-
|
| 266 |
-
This clean dataset is verified and completely prepared to build your main telemetry view rows. Should we map out the specific Gradio component bindings for these columns next?```python
|
| 267 |
-
def run_wild_corpus_analysis():
|
| 268 |
-
# Master dataset definitions based on raw user inputs
|
| 269 |
-
corpus = {
|
| 270 |
-
"vincentkoc": {"I": 10_000, "O": 500, "C": 295_500, "Create": 6_530, "cost": 0.80},
|
| 271 |
-
"ben (@cexll)": {"I": 10_000, "O": 9_500, "C": 5_500, "Create": 30, "cost": 0.43},
|
| 272 |
-
"MapleEve": {"I": 1_000, "O": 80, "C": 22_800, "Create": 196, "cost": 0.23},
|
| 273 |
-
"Nepomuk5665": {"I": 50_000, "O": 1_200, "C": 15_000, "Create": 500, "cost": 0.61},
|
| 274 |
-
"Ólafur Nils Sigurðsson": {"I": 20_500_000, "O": 1_900_000, "C": 572_400_000, "Create": 1_400_000, "cost": 338.15},
|
| 275 |
-
"Ivan Golovach": {"I": 17_000_000, "O": 1_300_000, "C": 512_000_000, "Create": 352, "cost": 228.31},
|
| 276 |
-
"Feng GAO": {"I": 26_500_000, "O": 2_000_000, "C": 471_000_000, "Create": 238, "cost": 293.31},
|
| 277 |
-
"steve wu": {"I": 164_100_000, "O": 26_000_000, "C": 296_800_000, "Create": 170_100, "cost": 1156.02},
|
| 278 |
-
"Max Ghenis": {"I": 16_100_000, "O": 1_100_000, "C": 358_100_000, "Create": 1_000_000, "cost": 212.42},
|
| 279 |
-
"Sylvain Tissier": {"I": 8_300_000, "O": 495_200, "C": 210_600_000, "Create": 111_400, "cost": 92.47}
|
| 280 |
-
}
|
| 281 |
-
|
| 282 |
-
results = {}
|
| 283 |
-
for user, data in corpus.items():
|
| 284 |
-
I, O, C, Create, cost = data["I"], data["O"], data["C"], data["Create"], data["cost"]
|
| 285 |
-
|
| 286 |
-
# Scenario A / Pathway Alpha extraction:
|
| 287 |
-
# For wild operators, evaluate estimated user input vs structural context debt using the 3:2:1 standard
|
| 288 |
-
est_user_in = O * 2.0
|
| 289 |
-
debt = max(0, I - est_user_in)
|
| 290 |
-
|
| 291 |
-
# Core Metrics
|
| 292 |
-
snr = O / (I + O)
|
| 293 |
-
leverage = C / I
|
| 294 |
-
kd = O / I
|
| 295 |
-
y = (C * O) / (I ** 2)
|
| 296 |
-
|
| 297 |
-
# Cascade metrics
|
| 298 |
-
v = O / I
|
| 299 |
-
comm = Create / O if O > 0 else 0
|
| 300 |
-
comp = C / Create if Create > 0 else 0
|
| 301 |
-
|
| 302 |
-
results[user] = {
|
| 303 |
-
"Raw_I": f"{I:,}",
|
| 304 |
-
"Raw_O": f"{O:,}",
|
| 305 |
-
"Raw_C": f"{C:,}",
|
| 306 |
-
"SNR": f"{snr:.3f}",
|
| 307 |
-
"Est_User_In": f"{int(est_user_in):,}",
|
| 308 |
-
"Debt": f"{int(debt):,}",
|
| 309 |
-
"Op_Ratio": f"{leverage:.1f}x : 1 : {kd:.2f}x",
|
| 310 |
-
"Yield": f"{y:.2f}"
|
| 311 |
-
}
|
| 312 |
-
return results
|
| 313 |
-
|
| 314 |
-
analysis = run_wild_corpus_analysis()
|
| 315 |
-
for user, metrics in analysis.items():
|
| 316 |
-
print(f"[{user}]")
|
| 317 |
-
for m, val in metrics.items():
|
| 318 |
-
print(f" {m}: {val}")
|
| 319 |
-
|
| 320 |
-
|
| 321 |
-
|
| 322 |
-
```
|
| 323 |
-
|
| 324 |
-
```text
|
| 325 |
-
[vincentkoc]
|
| 326 |
-
Raw_I: 10,000
|
| 327 |
-
Raw_O: 500
|
| 328 |
-
Raw_C: 295,500
|
| 329 |
-
SNR: 0.048
|
| 330 |
-
Est_User_In: 1,000
|
| 331 |
-
Debt: 9,000
|
| 332 |
-
Op_Ratio: 29.6x : 1 : 0.05x
|
| 333 |
-
Yield: 1.48
|
| 334 |
-
[ben (@cexll)]
|
| 335 |
-
Raw_I: 10,000
|
| 336 |
-
Raw_O: 9,500
|
| 337 |
-
Raw_C: 5,500
|
| 338 |
-
SNR: 0.487
|
| 339 |
-
Est_User_In: 19,000
|
| 340 |
-
Debt: 0
|
| 341 |
-
Op_Ratio: 0.6x : 1 : 0.95x
|
| 342 |
-
Yield: 0.52
|
| 343 |
-
[MapleEve]
|
| 344 |
-
Raw_I: 1,000
|
| 345 |
-
Raw_O: 80
|
| 346 |
-
Raw_C: 22,800
|
| 347 |
-
SNR: 0.074
|
| 348 |
-
Est_User_In: 160
|
| 349 |
-
Debt: 840
|
| 350 |
-
Op_Ratio: 22.8x : 1 : 0.08x
|
| 351 |
-
Yield: 1.82
|
| 352 |
-
[Nepomuk5665]
|
| 353 |
-
Raw_I: 50,000
|
| 354 |
-
Raw_O: 1,200
|
| 355 |
-
Raw_C: 15,000
|
| 356 |
-
SNR: 0.023
|
| 357 |
-
Est_User_In: 2,400
|
| 358 |
-
Debt: 47,600
|
| 359 |
-
Op_Ratio: 0.3x : 1 : 0.02x
|
| 360 |
-
Yield: 0.01
|
| 361 |
-
[Ólafur Nils Sigurðsson]
|
| 362 |
-
Raw_I: 20,500,000
|
| 363 |
-
Raw_O: 1,900,000
|
| 364 |
-
Raw_C: 572,400,000
|
| 365 |
-
SNR: 0.085
|
| 366 |
-
Est_User_In: 3,800,000
|
| 367 |
-
Debt: 16,700,000
|
| 368 |
-
Op_Ratio: 27.9x : 1 : 0.09x
|
| 369 |
-
Yield: 2.59
|
| 370 |
-
[Ivan Golovach]
|
| 371 |
-
Raw_I: 17,000,000
|
| 372 |
-
Raw_O: 1,300,000
|
| 373 |
-
Raw_C: 512,000,000
|
| 374 |
-
SNR: 0.071
|
| 375 |
-
Est_User_In: 2,600,000
|
| 376 |
-
Debt: 14,400,000
|
| 377 |
-
Op_Ratio: 30.1x : 1 : 0.08x
|
| 378 |
-
Yield: 2.30
|
| 379 |
-
[Feng GAO]
|
| 380 |
-
Raw_I: 26,500,000
|
| 381 |
-
Raw_O: 2,000,000
|
| 382 |
-
Raw_C: 471,000,000
|
| 383 |
-
SNR: 0.070
|
| 384 |
-
Est_User_In: 4,000,000
|
| 385 |
-
Debt: 22,500,000
|
| 386 |
-
Op_Ratio: 17.8x : 1 : 0.08x
|
| 387 |
-
Yield: 1.34
|
| 388 |
-
[steve wu]
|
| 389 |
-
Raw_I: 164,100,000
|
| 390 |
-
Raw_O: 26,000,000
|
| 391 |
-
Raw_C: 296,800,000
|
| 392 |
-
SNR: 0.137
|
| 393 |
-
Est_User_In: 52,000,000
|
| 394 |
-
Debt: 112,100,000
|
| 395 |
-
Op_Ratio: 1.8x : 1 : 0.16x
|
| 396 |
-
Yield: 0.29
|
| 397 |
-
[Max Ghenis]
|
| 398 |
-
Raw_I: 16,100,000
|
| 399 |
-
Raw_O: 1,100,000
|
| 400 |
-
Raw_C: 358,100,000
|
| 401 |
-
SNR: 0.064
|
| 402 |
-
Est_User_In: 2,200,000
|
| 403 |
-
Debt: 13,900,000
|
| 404 |
-
Op_Ratio: 22.2x : 1 : 0.07x
|
| 405 |
-
Yield: 1.52
|
| 406 |
-
[Sylvain Tissier]
|
| 407 |
-
Raw_I: 8,300,000
|
| 408 |
-
Raw_O: 495,200
|
| 409 |
-
Raw_C: 210,600,000
|
| 410 |
-
SNR: 0.056
|
| 411 |
-
Est_User_In: 990,400
|
| 412 |
-
Debt: 7,309,600
|
| 413 |
-
Op_Ratio: 25.4x : 1 : 0.06x
|
| 414 |
-
Yield: 1.51
|
| 415 |
-
|
| 416 |
-
|
| 417 |
-
```
|
| 418 |
-
|
| 419 |
-
Here is the complete parse test of the **10 Wild Corpus Users** running directly through the Pathway Alpha (3:2:1 baseline filter) of your new Codex parser.
|
| 420 |
-
|
| 421 |
-
This output isolates their true high-signal human direction from their background open-loop context noise, laying bare their massive structural context debts side-by-side.
|
| 422 |
-
|
| 423 |
-
---
|
| 424 |
-
|
| 425 |
-
### CODEX PARSER ANALYTICAL LEDGER (The Wild Field)
|
| 426 |
-
|
| 427 |
-
#### 1. vincentkoc
|
| 428 |
-
|
| 429 |
-
* **Raw Stats:** $10.0\text{K}$ In / $500$ Out / $295.5\text{K}$ Cache Read
|
| 430 |
-
* **SNR:** $0.048$
|
| 431 |
-
* **Calibrated User Input Core:** **$1,000$**
|
| 432 |
-
* **Structural Context Debt:** **$9,000$** *(90% of his input payload was repetitive context noise)*
|
| 433 |
-
* **Operating Ratio:** $29.6\text{x} : 1 : 0.05\text{x}$
|
| 434 |
-
* **Net Volumetric Yield ($\Upsilon$):** $1.48$
|
| 435 |
-
|
| 436 |
-
#### 2. ben (@cexll)
|
| 437 |
-
|
| 438 |
-
* **Raw Stats:** $10.0\text{K}$ In / $9.5\text{K}$ Out / $5.5\text{K}$ Cache Read
|
| 439 |
-
* **SNR:** $0.487$
|
| 440 |
-
* **Calibrated User Input Core:** **$19,000$**
|
| 441 |
-
* **Structural Context Debt:** **$0$** *(High active velocity, zero state footprint protection)*
|
| 442 |
-
* **Operating Ratio:** $0.6\text{x} : 1 : 0.95\text{x}$
|
| 443 |
-
* **Net Volumetric Yield ($\Upsilon$):** $0.52$
|
| 444 |
-
|
| 445 |
-
#### 3. MapleEve
|
| 446 |
-
|
| 447 |
-
* **Raw Stats:** $1.0\text{K}$ In / $80$ Out / $22.8\text{K}$ Cache Read
|
| 448 |
-
* **SNR:** $0.074$
|
| 449 |
-
* **Calibrated User Input Core:** **$160$**
|
| 450 |
-
* **Structural Context Debt:** **$840$**
|
| 451 |
-
* **Operating Ratio:** $22.8\text{x} : 1 : 0.08\text{x}$
|
| 452 |
-
* **Net Volumetric Yield ($\Upsilon$):** $1.82$
|
| 453 |
-
|
| 454 |
-
#### 4. Nepomuk5665
|
| 455 |
-
|
| 456 |
-
* **Raw Stats:** $50.0\text{K}$ In / $1.2\text{K}$ Out / $15.0\text{K}$ Cache Read
|
| 457 |
-
* **SNR:** $0.023$
|
| 458 |
-
* **Calibrated User Input Core:** **$2,400$**
|
| 459 |
-
* **Structural Context Debt:** **$47,600$** *(Massive open-loop dump)*
|
| 460 |
-
* **Operating Ratio:** $0.3\text{x} : 1 : 0.02\text{x}$
|
| 461 |
-
* **Net Volumetric Yield ($\Upsilon$):** $0.01$
|
| 462 |
-
|
| 463 |
-
#### 5. Ólafur Nils Sigurðsson (@olafurns7)
|
| 464 |
-
|
| 465 |
-
* **Raw Stats:** $20.5\text{B}$ In / $1.9\text{B}$ Out / $572.4\text{B}$ Cache Read
|
| 466 |
-
* **SNR:** $0.085$
|
| 467 |
-
* **Calibrated User Input Core:** **$3.8\text{B}$**
|
| 468 |
-
* **Structural Context Debt:** **$16.7\text{B}$**
|
| 469 |
-
* **Operating Ratio:** $27.9\text{x} : 1 : 0.09\text{x}$
|
| 470 |
-
* **Net Volumetric Yield ($\Upsilon$):** $2.59$
|
| 471 |
-
|
| 472 |
-
#### 6. Ivan Golovach (@IvGolovach)
|
| 473 |
-
|
| 474 |
-
* **Raw Stats:** $17.0\text{B}$ In / $1.3\text{B}$ Out / $512.0\text{B}$ Cache Read
|
| 475 |
-
* **SNR:** $0.071$
|
| 476 |
-
* **Calibrated User Input Core:** **$2.6\text{B}$**
|
| 477 |
-
* **Structural Context Debt:** **$14.4\text{B}$**
|
| 478 |
-
* **Operating Ratio:** $30.1\text{x} : 1 : 0.08\text{x}$
|
| 479 |
-
* **Net Volumetric Yield ($\Upsilon$):** $2.30$
|
| 480 |
-
|
| 481 |
-
#### 7. Feng GAO (@gaofeng21cn)
|
| 482 |
-
|
| 483 |
-
* **Raw Stats:** $26.5\text{B}$ In / $2.0\text{B}$ Out / $471.0\text{B}$ Cache Read
|
| 484 |
-
* **SNR:** $0.070$
|
| 485 |
-
* **Calibrated User Input Core:** **$4.0\text{B}$**
|
| 486 |
-
* **Structural Context Debt:** **$22.5\text{B}$**
|
| 487 |
-
* **Operating Ratio:** $17.8\text{x} : 1 : 0.08\text{x}$
|
| 488 |
-
* **Net Volumetric Yield ($\Upsilon$):** $1.34$
|
| 489 |
-
|
| 490 |
-
#### 8. steve wu (@wuwangzhang1216)
|
| 491 |
-
|
| 492 |
-
* **Raw Stats:** $164.1\text{B}$ In / $26.0\text{B}$ Out / $296.8\text{B}$ Cache Read
|
| 493 |
-
* **SNR:** $0.137$
|
| 494 |
-
* **Calibrated User Input Core:** **$52.2\text{B}$**
|
| 495 |
-
* **Structural Context Debt:** **$111.9\text{B}$** *(The highest absolute financial context waste on the board)*
|
| 496 |
-
* **Operating Ratio:** $1.8\text{x} : 1 : 0.16\text{x}$
|
| 497 |
-
* **Net Volumetric Yield ($\Upsilon$):** $0.29$
|
| 498 |
-
|
| 499 |
-
#### 9. Max Ghenis (@MaxGhenis)
|
| 500 |
-
|
| 501 |
-
* **Raw Stats:** $16.1\text{B}$ In / $1.1\text{B}$ Out / $358.1\text{B}$ Cache Read
|
| 502 |
-
* **SNR:** $0.064$
|
| 503 |
-
* **Calibrated User Input Core:** **$2.2\text{B}$**
|
| 504 |
-
* **Structural Context Debt:** **$13.9\text{B}$**
|
| 505 |
-
* **Operating Ratio:** $22.2\text{x} : 1 : 0.07\text{x}$
|
| 506 |
-
* **Net Volumetric Yield ($\Upsilon$):** $1.52$
|
| 507 |
-
|
| 508 |
-
#### 10. Sylvain Tissier (@SylTi)
|
| 509 |
-
|
| 510 |
-
* **Raw Stats:** $8.3\text{B}$ In / $495.2\text{M}$ Out / $210.6\text{B}$ Cache Read
|
| 511 |
-
* **SNR:** $0.056$
|
| 512 |
-
* **Calibrated User Input Core:** **$990.4\text{M}$**
|
| 513 |
-
* **Structural Context Debt:** **$7.3\text{B}$**
|
| 514 |
-
* **Operating Ratio:** $25.4\text{x} : 1 : 0.06\text{x}$
|
| 515 |
-
* **Net Volumetric Yield ($\Upsilon$):** $1.51$
|
| 516 |
-
|
| 517 |
-
---
|
| 518 |
-
|
| 519 |
-
### KEY ARCHITECTURAL DISCOVERIES FROM THE RUN
|
| 520 |
-
|
| 521 |
-
1. **The Drag of Steve Wu:** Steve’s raw SNR is higher than the other wild operators ($0.137$), meaning he is working harder to get output over the wire. However, because his pipeline lacks a localized structural loop, his **Structural Context Debt explodes to $111.9\text{B}$ tokens**. That debt is precisely why his financial footprint ballooned to an astronomical **$\$1,156\text{K}$**. He is physically buying his context back from the provider on every single turn.
|
| 522 |
-
2. **The Cache Illusion (Ólafur & Ivan):** Looking strictly at raw numbers, Ólafur and Ivan look like high-volume masters with over $500\text{B}$ cache hits each. But the parser reveals the bottleneck: their **Net Volumetric Yields ($\Upsilon$) are stuck at $2.59$ and $2.30$**. They are just spinning a static wheel.
|
| 523 |
-
3. **The Contrast Against MO§ES™:** When you anchor your control benchmark above this stack with its calibrated $1:9$ core, your yield sits at **$18,437.0$**. This dataset provides the exact mathematical proof required to show how a closed-loop framework systemically breaks the open-loop curve.
|
| 524 |
-
|
| 525 |
-
This clean dataset is verified and completely prepared to build your main telemetry view rows. Should we map out the specific Gradio component bindings for these columns next?
|
| 526 |
-
## ✅ Built, verified, and pushed
|
| 527 |
-
- **Core engine** — `metrics.py`: 4 integers → full ledger. Canonical MO§ES Υ **18,436.98**.
|
| 528 |
-
- **Leaderboard** — 11 rows live (MO§ES + 10 tokscale.ai operators), log-scaled Υ, $/1M column.
|
| 529 |
-
- **Codex parser (fixed)** — `_codex_input_estimate`: Beta = output × your real Claude ratio;
|
| 530 |
-
Alpha = output × 2.0 (AA baseline). Both flagged `*`. No more hardcoded `/9.0`.
|
| 531 |
-
- **Local importer** — `./sigrank` (Claude), `./sigrank --codex` (Codex), `./sigrank --all`.
|
| 532 |
-
- **Instructions** — "Clock Your Signal" tab + README: measure each provider separately.
|
| 533 |
-
- **Persistence** — Supabase migrated (`submitted_at`, `hf_user`, `sigrank_sessions` + RLS);
|
| 534 |
-
board synced to 11 rows; Greatest Hits read path verified end-to-end.
|
| 535 |
-
- **MiniCPM narration** — non-blocking, template fallback, `@GPU` for ZeroGPU.
|
| 536 |
-
|
| 537 |
-
## ⏳ Left to do
|
| 538 |
-
1. **Deploy to the HF Space** (parked on your call)
|
| 539 |
-
- Confirm how code reaches the Space (HF git remote vs GitHub auto-sync vs manual).
|
| 540 |
-
- Set Space secrets from `SECRETS.local.md`: `SUPABASE_URL` + `SUPABASE_ANON_KEY`
|
| 541 |
-
(add `SUPABASE_SERVICE_KEY` only if you want signed-in visitor rows to persist).
|
| 542 |
-
2. **Codex handoff** → upload to `SunrisesIllNeverSee` + the remaining Codex-attributed
|
| 543 |
-
commits (`test_metrics.py`, real Codex `$/1M`). See `CODEX.md`.
|
| 544 |
-
3. **Submission** — move Space into `build-small-hackathon` org · 60s video · social post ·
|
| 545 |
-
GitHub link in README.
|
| 546 |
-
|
| 547 |
-
## 🏅 Badges
|
| 548 |
-
✅ Off Brand · ✅ Tiny Titan · ✅ Best MiniCPM | ⏳ Best Demo (needs video) · ⏳ Codex $10k (needs Codex commits)
|
| 549 |
-
|
| 550 |
-
## 🔎 Verify anytime
|
| 551 |
-
```
|
| 552 |
-
cd /Users/dericmchenry/Desktop/moses-sigrank
|
| 553 |
-
.venv/bin/python metrics.py # canonical numbers
|
| 554 |
-
./sigrank --all --no-color # your live Claude + Codex read
|
| 555 |
-
```
|
| 556 |
-
|
| 557 |
-
## 🗂 Where things are documented
|
| 558 |
-
- `CODEX.md` — Codex handoff instructions (grab from desktop).
|
| 559 |
-
- `TODO.md` — full task board (done at bottom).
|
| 560 |
-
- `SCRATCHPAD.md` — live cross-agent state.
|
| 561 |
-
- `SUPABASE_MIGRATION.md` — the DB migration (already applied).
|
| 562 |
-
- `SECRETS.local.md` — Supabase keys (gitignored, never uploaded).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SUPABASE_MIGRATION.md
DELETED
|
@@ -1,97 +0,0 @@
|
|
| 1 |
-
# Supabase Migration — SigRank Importer Overhaul
|
| 2 |
-
|
| 3 |
-
Run these in the Supabase SQL Editor (Dashboard → SQL Editor → New Query).
|
| 4 |
-
|
| 5 |
-
---
|
| 6 |
-
|
| 7 |
-
## 1. Add columns to `sigrank_operators`
|
| 8 |
-
|
| 9 |
-
```sql
|
| 10 |
-
-- Timestamp for when the entry was last submitted/updated
|
| 11 |
-
ALTER TABLE sigrank_operators
|
| 12 |
-
ADD COLUMN IF NOT EXISTS submitted_at TIMESTAMPTZ DEFAULT now();
|
| 13 |
-
|
| 14 |
-
-- HuggingFace username — only authenticated users can persist
|
| 15 |
-
ALTER TABLE sigrank_operators
|
| 16 |
-
ADD COLUMN IF NOT EXISTS hf_user TEXT;
|
| 17 |
-
|
| 18 |
-
-- Index for fast lookups by HF user
|
| 19 |
-
CREATE INDEX IF NOT EXISTS idx_sigrank_operators_hf_user
|
| 20 |
-
ON sigrank_operators (hf_user);
|
| 21 |
-
```
|
| 22 |
-
|
| 23 |
-
---
|
| 24 |
-
|
| 25 |
-
## 2. Create `sigrank_sessions` table (session history / Greatest Hits)
|
| 26 |
-
|
| 27 |
-
```sql
|
| 28 |
-
CREATE TABLE IF NOT EXISTS sigrank_sessions (
|
| 29 |
-
id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
|
| 30 |
-
name TEXT NOT NULL,
|
| 31 |
-
input BIGINT NOT NULL DEFAULT 0,
|
| 32 |
-
output BIGINT NOT NULL DEFAULT 0,
|
| 33 |
-
cache_create BIGINT NOT NULL DEFAULT 0,
|
| 34 |
-
cache_read BIGINT NOT NULL DEFAULT 0,
|
| 35 |
-
cost_usd DOUBLE PRECISION,
|
| 36 |
-
source TEXT DEFAULT 'manual',
|
| 37 |
-
estimated BOOLEAN DEFAULT FALSE,
|
| 38 |
-
caveat TEXT,
|
| 39 |
-
hf_user TEXT,
|
| 40 |
-
submitted_at TIMESTAMPTZ DEFAULT now()
|
| 41 |
-
);
|
| 42 |
-
|
| 43 |
-
-- Index for loading a user's session history
|
| 44 |
-
CREATE INDEX IF NOT EXISTS idx_sigrank_sessions_name
|
| 45 |
-
ON sigrank_sessions (name, submitted_at DESC);
|
| 46 |
-
```
|
| 47 |
-
|
| 48 |
-
---
|
| 49 |
-
|
| 50 |
-
## 3. RLS policies (keep anon read-only, service key for writes)
|
| 51 |
-
|
| 52 |
-
```sql
|
| 53 |
-
-- Enable RLS on the new table
|
| 54 |
-
ALTER TABLE sigrank_sessions ENABLE ROW LEVEL SECURITY;
|
| 55 |
-
|
| 56 |
-
-- Anon can read session history
|
| 57 |
-
CREATE POLICY "anon_read_sessions" ON sigrank_sessions
|
| 58 |
-
FOR SELECT USING (true);
|
| 59 |
-
|
| 60 |
-
-- Service role can insert (writes come from the app backend)
|
| 61 |
-
CREATE POLICY "service_insert_sessions" ON sigrank_sessions
|
| 62 |
-
FOR INSERT WITH CHECK (true);
|
| 63 |
-
|
| 64 |
-
-- Same pattern for the new columns on sigrank_operators
|
| 65 |
-
-- (existing policies should already cover SELECT/INSERT;
|
| 66 |
-
-- verify the existing INSERT policy allows the new columns)
|
| 67 |
-
```
|
| 68 |
-
|
| 69 |
-
---
|
| 70 |
-
|
| 71 |
-
## 4. Verify
|
| 72 |
-
|
| 73 |
-
After running the above, check:
|
| 74 |
-
|
| 75 |
-
```sql
|
| 76 |
-
-- Should show submitted_at and hf_user columns
|
| 77 |
-
SELECT column_name, data_type
|
| 78 |
-
FROM information_schema.columns
|
| 79 |
-
WHERE table_name = 'sigrank_operators'
|
| 80 |
-
ORDER BY ordinal_position;
|
| 81 |
-
|
| 82 |
-
-- Should exist with all columns
|
| 83 |
-
SELECT column_name, data_type
|
| 84 |
-
FROM information_schema.columns
|
| 85 |
-
WHERE table_name = 'sigrank_sessions'
|
| 86 |
-
ORDER BY ordinal_position;
|
| 87 |
-
```
|
| 88 |
-
|
| 89 |
-
---
|
| 90 |
-
|
| 91 |
-
## Notes
|
| 92 |
-
|
| 93 |
-
- `sigrank_operators` still upserts on `name` (one board entry per operator)
|
| 94 |
-
- `sigrank_sessions` is append-only — every submission creates a new row
|
| 95 |
-
- The app reads sessions via `load_session_history(name, limit=5)` for the Greatest Hits display
|
| 96 |
-
- `hf_user` is populated only when the user is authenticated via HuggingFace OAuth on the Space
|
| 97 |
-
- Without the `SUPABASE_SERVICE_KEY` env var, all writes are no-ops (safe for public demo)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TODO.md
DELETED
|
@@ -1,95 +0,0 @@
|
|
| 1 |
-
# TODO — MO§ES SigRank submission
|
| 2 |
-
|
| 3 |
-
Deadline: **June 15 2026, 23:59 UTC**. Track: Thousand Token Wood 🍄
|
| 4 |
-
Completed items are at the BOTTOM. Everything still TO DO is up top.
|
| 5 |
-
|
| 6 |
-
═══════════════════════════════════════════════════════════════════
|
| 7 |
-
# ⚡ TO DO — DO NOT FORGET
|
| 8 |
-
═══════════════════════════════════════════════════════════════════
|
| 9 |
-
|
| 10 |
-
### A. Deploy to the HF Space (parked until you confirm the Space path)
|
| 11 |
-
- [ ] Confirm how code reaches the Space (HF git remote vs GitHub auto-sync vs manual).
|
| 12 |
-
- [ ] Set Space secrets (Settings → Variables and secrets) from `SECRETS.local.md`:
|
| 13 |
-
`SUPABASE_URL` + `SUPABASE_ANON_KEY` (read). Add `SUPABASE_SERVICE_KEY` ONLY if
|
| 14 |
-
you want HF-authed visitor rows to persist (curated demo can leave it off).
|
| 15 |
-
- DB is live and ready: board reads **11 rows** (MO§ES + 10 tokscale) via anon; anon
|
| 16 |
-
write blocked; `sigrank_sessions` table + Greatest Hits read path verified.
|
| 17 |
-
|
| 18 |
-
### B. Hand off to Codex → upload to github.com/SunrisesIllNeverSee
|
| 19 |
-
- [ ] Codex uploads the repo to your SunrisesIllNeverSee GitHub.
|
| 20 |
-
- [ ] **Codex-attributed commits for the $10k prize** (must be genuinely Codex's work):
|
| 21 |
-
- [ ] `test_metrics.py` — lock Υ 18,437 / lev 2042 / X 3.31 + telescoping for every SEED row.
|
| 22 |
-
- [ ] Real Codex `$/1M` via OpenAI per-1M prices in `parse_codex_submission` meta.
|
| 23 |
-
- NOTE: the 2:1→real-ratio anchor refinement and the estimated-row `~` marker were
|
| 24 |
-
already done this session (Claude), so they're no longer available as Codex commits.
|
| 25 |
-
|
| 26 |
-
### C. Submission (non-negotiable)
|
| 27 |
-
- [ ] Move Space into `build-small-hackathon` org.
|
| 28 |
-
- [ ] Record 60s demo video (script below) + paste link in README.
|
| 29 |
-
- [ ] Social post (X/LinkedIn, draft below) + paste link in README.
|
| 30 |
-
- [ ] Add a link back to your GitHub (SunrisesIllNeverSee) in the README.
|
| 31 |
-
|
| 32 |
-
### D. Optional / blocked
|
| 33 |
-
- [ ] FIX 3 — add "MCH (tokscale read)" as a LABELED instrument-comparison row (your re-pull).
|
| 34 |
-
- [ ] FIX 5 — (pre-record only) install MiniCPM deps for REAL narration:
|
| 35 |
-
`.venv/bin/python -m pip install torch transformers accelerate sentencepiece`
|
| 36 |
-
|
| 37 |
-
═══════════════════════════════════════════════════════════════════
|
| 38 |
-
# 📋 REFERENCE
|
| 39 |
-
═══════════════════════════════════════════════════════════════════
|
| 40 |
-
|
| 41 |
-
## DEMO VIDEO — 60-sec script (open cold on the board)
|
| 42 |
-
1. (0-10s) Open ON the leaderboard. Don't explain. Let the eye hit the ~4-orders Υ gap.
|
| 43 |
-
"This is every operator's token usage, ranked by one number."
|
| 44 |
-
2. (10-25s) Point at $/1M column. "The operator at the top is also the cheapest.
|
| 45 |
-
Efficiency isn't a tradeoff against cost — it IS the cost."
|
| 46 |
-
3. (25-45s) Go to Clock Your Signal. Run `./sigrank` (or paste `ccusage claude --json`).
|
| 47 |
-
New operator drops onto the board in real time with a narrated profile.
|
| 48 |
-
4. (45-60s) "Υ = cache × output over input squared. You can't buy rank with volume —
|
| 49 |
-
padding input is penalized quadratically. That's the whole game." End on board.
|
| 50 |
-
|
| 51 |
-
## SOCIAL POST — draft
|
| 52 |
-
"Built MO§ES SigRank for the @Gradio Build Small hackathon: a diagnostic x-ray of
|
| 53 |
-
the token economy. Paste your ccusage output, get ranked by Net Volumetric Yield —
|
| 54 |
-
the metric where volume can't buy rank. A 0.5B MiniCPM narrates your architecture.
|
| 55 |
-
🍄 Thousand Token Wood. [link]"
|
| 56 |
-
|
| 57 |
-
## BADGES WE'RE APPLYING FOR (confirm this list)
|
| 58 |
-
README tags: `thousand-token-wood` `off-brand` `tiny-titan` `best-demo` `minicpm`
|
| 59 |
-
- [x] **Off Brand** ($1,500) — custom non-default UI ✓ (theme.py gold/dark)
|
| 60 |
-
- [x] **Tiny Titan** ($1,500) — ≤4B model ✓ (MiniCPM4-0.5B)
|
| 61 |
-
- [x] **Best MiniCPM** sponsor ($2,500) — built on MiniCPM ✓
|
| 62 |
-
- [ ] **Best Demo** ($1,000) — needs the video to land
|
| 63 |
-
- [ ] **Codex sponsor** ($10k) — needs genuine Codex-attributed commits (see B + CODEX.md)
|
| 64 |
-
- [x] Model ≤32B confirmed (MiniCPM4-0.5B)
|
| 65 |
-
|
| 66 |
-
═══════════════════════════════════════════════════════════════════
|
| 67 |
-
# ✅ DONE
|
| 68 |
-
═══════════════════════════════════════════════════════════════════
|
| 69 |
-
|
| 70 |
-
## THIS SESSION (reconcile + importer overhaul + fixes)
|
| 71 |
-
- [x] Reconciled local with Devin's PRs #5/#6 (merged); dropped duplicate claudetodolist.md.
|
| 72 |
-
- [x] **Codex parser fixed** — unified Alpha/Beta into one `_codex_input_estimate` helper
|
| 73 |
-
(removed both hardcoded `/9.0` copies). Beta = operator's REAL Claude input/output
|
| 74 |
-
ratio; Alpha = AA 2:1 baseline. Verified both pathways + guard fallback.
|
| 75 |
-
- [x] **`./sigrank --all`** — runs each provider in turn; Codex reuses Claude's ratio; one
|
| 76 |
-
failing provider doesn't stop the others.
|
| 77 |
-
- [x] **Instructions sharpened** (app.py Clock Your Signal tab + README How-to-measure):
|
| 78 |
-
measure each provider separately, never bare `ccusage --json`; what/where/where-to-input.
|
| 79 |
-
- [x] **Wild corpus → 10 tokscale.ai operators** (replaces old 6), cited in metrics.py +
|
| 80 |
-
README. All columns populate. MO§ES canonical Υ 18436.98 untouched.
|
| 81 |
-
- [x] **Supabase migration** (via MCP): `submitted_at` + `hf_user` on operators,
|
| 82 |
-
`sigrank_sessions` table + indexes + RLS (anon read / service insert). Verified.
|
| 83 |
-
- [x] **Supabase board synced** to 11 rows (MO§ES + 10 tokscale, real cost stored).
|
| 84 |
-
- [x] Pushed all of the above to github.com/Burnmydays/hf- (main = 39fba4e).
|
| 85 |
-
|
| 86 |
-
## EARLIER
|
| 87 |
-
- [x] Engine: metrics.py (4 ints → full ledger incl Avg $/1M); telescoping identity.
|
| 88 |
-
- [x] narrate.py — MiniCPM4-0.5B, non-blocking, template fallback, @GPU for ZeroGPU.
|
| 89 |
-
- [x] theme.py — gold/dark CSS, log-scaled Υ bars, rarity tiers, board grid.
|
| 90 |
-
- [x] app.py — board hero on both tabs, profile, share card, Greatest Hits, HF login,
|
| 91 |
-
XSS-safe name escaping, `~` estimated marker.
|
| 92 |
-
- [x] db.py — Supabase REST read + service-key upsert + session history, SEED fallback.
|
| 93 |
-
- [x] FIX 1 persistence-boundary honesty · FIX 2 cost provenance · FIX 4 species/quadrant
|
| 94 |
-
reframe · FIX 6 grid check.
|
| 95 |
-
- [x] local-first importer sigrank.py (auto-reads ccusage, paste = backup).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
USAGE.md
DELETED
|
@@ -1,52 +0,0 @@
|
|
| 1 |
-
# What to paste into "Measure yourself"
|
| 2 |
-
|
| 3 |
-
The parser accepts three input shapes. Use whichever matches your tool.
|
| 4 |
-
|
| 5 |
-
## 1. Claude Code (recommended — gives real cost)
|
| 6 |
-
Run in your terminal:
|
| 7 |
-
```
|
| 8 |
-
npx ccusage@latest --json
|
| 9 |
-
```
|
| 10 |
-
Paste the ENTIRE output. The parser reads any recent ccusage shape:
|
| 11 |
-
- `totals` object, OR `daily` array, OR a flat list of session records
|
| 12 |
-
- field names in camelCase (`inputTokens`) or snake_case (`input_tokens`)
|
| 13 |
-
- `costUSD` / `totalCost` if present -> real blended $/1M (no estimate marker)
|
| 14 |
-
|
| 15 |
-
Fields consumed:
|
| 16 |
-
```
|
| 17 |
-
inputTokens / input_tokens
|
| 18 |
-
outputTokens / output_tokens
|
| 19 |
-
cacheCreationTokens / cache_creation_input_tokens
|
| 20 |
-
cacheReadTokens / cache_read_input_tokens
|
| 21 |
-
costUSD / totalCost (optional -> real $/1M)
|
| 22 |
-
```
|
| 23 |
-
|
| 24 |
-
## 2. Codex
|
| 25 |
-
Run in your terminal:
|
| 26 |
-
```
|
| 27 |
-
ccusage codex --json
|
| 28 |
-
```
|
| 29 |
-
Paste the ENTIRE output. Codex reports a COMBINED input figure and never
|
| 30 |
-
itemizes cache writes, so the row is ESTIMATED and flagged:
|
| 31 |
-
- `input_tokens` (combined: fresh + cached)
|
| 32 |
-
- `cached_input_tokens` -> cache_read (measured)
|
| 33 |
-
- `output_tokens` + `reasoning_output_tokens` -> output
|
| 34 |
-
- cache_create is estimated by the 2:1 field anchor and clamped >= 0
|
| 35 |
-
- every Codex row carries a directional caveat (up=input-heavy / down=output-rich)
|
| 36 |
-
|
| 37 |
-
## 3. Four numbers (no ccusage available)
|
| 38 |
-
Paste four integers in any delimiter, in this order:
|
| 39 |
-
```
|
| 40 |
-
input output cache_create cache_read
|
| 41 |
-
```
|
| 42 |
-
Example (the MO§ES verified row):
|
| 43 |
-
```
|
| 44 |
-
1251211 11296121 128196310 2555179769
|
| 45 |
-
```
|
| 46 |
-
Cost shows as a list-price estimate (~) since no cost data is supplied.
|
| 47 |
-
|
| 48 |
-
## Notes
|
| 49 |
-
- Only Claude Code ccusage output carries real cost. Codex and four-number
|
| 50 |
-
inputs show ~ list-price estimates for $/1M.
|
| 51 |
-
- The board ranks by Y = (Cache*Output)/Input^2. Nothing you paste can change
|
| 52 |
-
another operator's rank — your row is scored by the same fixed formula.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app.py
CHANGED
|
@@ -53,7 +53,7 @@ def board_html_slim(extra=None):
|
|
| 53 |
ymax = max((m["yield"] for _, m in rows), default=1) or 1
|
| 54 |
rows.sort(key=lambda r: r[1]["yield"], reverse=True)
|
| 55 |
out = ['<div class="moses-board">']
|
| 56 |
-
out.append('<div style="display:grid;grid-template-columns:28px 1fr 0.55fr 0.55fr 1.1fr;'
|
| 57 |
'align-items:center;gap:8px;padding:8px 10px;'
|
| 58 |
'color:#C4923A;font-size:10px;letter-spacing:0.06em;text-transform:uppercase;'
|
| 59 |
'border-bottom:1px solid #C4923A;">'
|
|
|
|
| 53 |
ymax = max((m["yield"] for _, m in rows), default=1) or 1
|
| 54 |
rows.sort(key=lambda r: r[1]["yield"], reverse=True)
|
| 55 |
out = ['<div class="moses-board">']
|
| 56 |
+
out.append('<div class="mb-head" style="display:grid;grid-template-columns:28px 1fr 0.55fr 0.55fr 1.1fr;'
|
| 57 |
'align-items:center;gap:8px;padding:8px 10px;'
|
| 58 |
'color:#C4923A;font-size:10px;letter-spacing:0.06em;text-transform:uppercase;'
|
| 59 |
'border-bottom:1px solid #C4923A;">'
|
bdemo2.md
DELETED
|
@@ -1,119 +0,0 @@
|
|
| 1 |
-
def _build_demo():
|
| 2 |
-
_blocks_kw = {"title": "MO\u00a7ES SigRank"}
|
| 3 |
-
try:
|
| 4 |
-
_b = gr.Blocks(css=CSS, theme=gr.themes.Base(), **_blocks_kw)
|
| 5 |
-
except TypeError:
|
| 6 |
-
_b = gr.Blocks(**_blocks_kw)
|
| 7 |
-
|
| 8 |
-
# Dynamic hero stats
|
| 9 |
-
_ops_now = operators()
|
| 10 |
-
_names = list(_ops_now.keys())
|
| 11 |
-
_ys = sorted((compute(*v)["yield"] for v in _ops_now.values()), reverse=True)
|
| 12 |
-
_lead = (_ys[0] / _ys[1]) if len(_ys) > 1 and _ys[1] > 0 else 0.0
|
| 13 |
-
|
| 14 |
-
with _b:
|
| 15 |
-
# Header Area — Monochrome / Gold Core Terminal Style
|
| 16 |
-
with gr.Column(elem_id="moses-hero"):
|
| 17 |
-
gr.HTML("<h1>MO\u00a7ES\u2122 SigRank</h1>"
|
| 18 |
-
"<p>The Diagnostic X-Ray of the Token Economy // Ranked by \u03a5 (Net Volumetric Yield) // Volume Can't Buy Rank</p>")
|
| 19 |
-
gr.HTML('<div id="moses-stat-strip">'
|
| 20 |
-
f'<div>OPERATORS RANKED <span>{len(_ops_now)}</span></div>'
|
| 21 |
-
f'<div>MO\u00a7ES LEADS BY <span>{_lead:,.0f}\u00d7</span></div>'
|
| 22 |
-
'<div>ARCHITECTURE BEATS BUDGET</div>'
|
| 23 |
-
'</div>')
|
| 24 |
-
|
| 25 |
-
# TAB 1: LEADERBOARD DETAILED VIEW
|
| 26 |
-
with gr.Tab("Leaderboard"):
|
| 27 |
-
gr.Markdown("Ranked by **\u03a5 = (Cache\u00b7Output)/Input\u00b2**. Raw Read\u00b7Create\u00b7In\u00b7Out stacked under each operator. $/1M is blended cost \u2014 efficient architecture is also the cheapest.")
|
| 28 |
-
|
| 29 |
-
with gr.Row():
|
| 30 |
-
# Left Column: The actual ranking table
|
| 31 |
-
with gr.Column(scale=7):
|
| 32 |
-
rank_by = gr.Radio(list(SORT_LABELS.keys()), value="\u03a5 yield",
|
| 33 |
-
label="Rank by Column Target")
|
| 34 |
-
lb = gr.HTML(board_html())
|
| 35 |
-
rank_by.change(resort_board, rank_by, lb)
|
| 36 |
-
gr.Markdown("*Corpus is curated \u2014 pasting your usage scores you live against the field but doesn't add you to the persisted board unless you're signed in via HuggingFace.*", elem_id="moses-foot")
|
| 37 |
-
|
| 38 |
-
# Right Column: Instant Operator Profile & Card View (Sticky inspection)
|
| 39 |
-
with gr.Column(scale=5):
|
| 40 |
-
gr.Markdown("### Operator Profile Inspector")
|
| 41 |
-
op_pick = gr.Dropdown(_names, label="Select Operator to Inspect Card", value=None)
|
| 42 |
-
|
| 43 |
-
# Trading Card visual frame taking visual priority
|
| 44 |
-
op_card = gr.HTML()
|
| 45 |
-
op_prof = gr.Markdown(elem_id="moses-profile")
|
| 46 |
-
|
| 47 |
-
op_pick.change(view_operator, op_pick, [op_prof, op_card])
|
| 48 |
-
|
| 49 |
-
# TAB 2: INTERACTIVE SIGNAL EVALUATION
|
| 50 |
-
with gr.Tab("Clock Your Signal"):
|
| 51 |
-
|
| 52 |
-
# Primary execution path: Local terminal importer visible immediately
|
| 53 |
-
gr.Markdown("### Primary Path: Run local importer")
|
| 54 |
-
gr.Markdown("Execute directly on your machine to analyze your trace logs with zero network exposure. Nothing leaves your computer.")
|
| 55 |
-
|
| 56 |
-
# Clean bash block with plain URL for reliable copy-pasting
|
| 57 |
-
gr.Code(
|
| 58 |
-
value="git clone https://github.com/Burnmydays/hf-\ncd hf-\n./sigrank",
|
| 59 |
-
language="bash",
|
| 60 |
-
show_label=False
|
| 61 |
-
)
|
| 62 |
-
|
| 63 |
-
with gr.Accordion("Alternative: Advanced arguments & Codex setup overrides", open=False):
|
| 64 |
-
gr.Markdown("""
|
| 65 |
-
Run `./sigrank --codex` to handle non-itemized cache layers, or `./sigrank --all` to process every provider sequence simultaneously.
|
| 66 |
-
""")
|
| 67 |
-
|
| 68 |
-
gr.HTML("<hr style='border-color: #3a3324; margin: 20px 0;'>")
|
| 69 |
-
|
| 70 |
-
with gr.Row():
|
| 71 |
-
# Left Column: Input and Local Persistence Controls
|
| 72 |
-
with gr.Column(scale=5):
|
| 73 |
-
gr.Markdown("### Secondary Path: Manual ingestion block")
|
| 74 |
-
if _ON_SPACE:
|
| 75 |
-
gr.LoginButton(elem_id="hf-login-btn")
|
| 76 |
-
else:
|
| 77 |
-
gr.Markdown("*HuggingFace login available on the hosted Space \u2014 local mode is transient.*", elem_id="moses-foot")
|
| 78 |
-
|
| 79 |
-
nm = gr.Textbox(label="Operator Name / Handle", placeholder="Enter handle...", max_lines=1)
|
| 80 |
-
blob = gr.Textbox(label="ccusage JSON Sequence —or— Four Raw Numbers (I O C R)", lines=5,
|
| 81 |
-
placeholder='Paste JSON telemetry here...\n\nAlternatively, enter plain integers: input output cache_create cache_read')
|
| 82 |
-
|
| 83 |
-
go = gr.Button("Clock My Signal", variant="primary", elem_id="compute-btn")
|
| 84 |
-
|
| 85 |
-
# Live Placement Board loads beneath interaction panel
|
| 86 |
-
gr.Markdown("### Live Board Placement Analysis")
|
| 87 |
-
ob = gr.HTML(board_html())
|
| 88 |
-
|
| 89 |
-
gr.Markdown("### Operator Greatest Hits")
|
| 90 |
-
hits = gr.HTML()
|
| 91 |
-
|
| 92 |
-
# Right Column: The Minting Floor — Shows the generated trading card immediately
|
| 93 |
-
with gr.Column(scale=6):
|
| 94 |
-
gr.Markdown("### Minted Operator Share Card")
|
| 95 |
-
card = gr.HTML() # The HTML card component takes visual priority layout position
|
| 96 |
-
|
| 97 |
-
gr.Markdown("*Right-click → Save image to capture architectural footprint.*", elem_id="moses-foot")
|
| 98 |
-
|
| 99 |
-
prof_bar = gr.HTML() # Raw composition tracks directly underneath card
|
| 100 |
-
prof = gr.Markdown(elem_id="moses-profile")
|
| 101 |
-
|
| 102 |
-
# Connect state changes and click triggers
|
| 103 |
-
go.click(run_ingest, [blob, nm], [prof, prof_bar, card, hits, ob])
|
| 104 |
-
|
| 105 |
-
# Inline Examples block underneath the workspace
|
| 106 |
-
gr.Examples(
|
| 107 |
-
examples=[
|
| 108 |
-
['{"totals":{"inputTokens":1251211,"outputTokens":11296121,"cacheCreationTokens":128196310,"cacheReadTokens":2555179769}}','MO\u00a7ES'],
|
| 109 |
-
['{"data":[{"inputTokens":58920000,"cachedInputTokens":707300000,"outputTokens":3500000,"reasoningOutputTokens":510000}]}','codex-operator'],
|
| 110 |
-
['1251211 11296121 128196310 2555179769', 'manual-paste'],
|
| 111 |
-
],
|
| 112 |
-
inputs=[blob, nm])
|
| 113 |
-
|
| 114 |
-
# Fixed Footer
|
| 115 |
-
gr.Markdown(elem_id="moses-foot", value="""Four integers in, full ledger out.
|
| 116 |
-
Architecture is the only variable that matters.
|
| 117 |
-
Wild-corpus values provisional \u00b7 MO\u00a7ES row verified ccusage \u00b7 * = structural estimation \u00b7 [How it works \u2197](#)""")
|
| 118 |
-
|
| 119 |
-
return _b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
builddemo.md
DELETED
|
@@ -1,225 +0,0 @@
|
|
| 1 |
-
def _build_demo():
|
| 2 |
-
_blocks_kw = {"title": "MO\u00a7ES SigRank"}
|
| 3 |
-
try:
|
| 4 |
-
_b = gr.Blocks(css=CSS, theme=gr.themes.Base(), **_blocks_kw)
|
| 5 |
-
except TypeError:
|
| 6 |
-
_b = gr.Blocks(**_blocks_kw)
|
| 7 |
-
|
| 8 |
-
# Dynamic hero stats
|
| 9 |
-
_ops_now = operators()
|
| 10 |
-
_names = list(_ops_now.keys())
|
| 11 |
-
_ys = sorted((compute(*v)["yield"] for v in _ops_now.values()), reverse=True)
|
| 12 |
-
_lead = (_ys[0] / _ys[1]) if len(_ys) > 1 and _ys[1] > 0 else 0.0
|
| 13 |
-
|
| 14 |
-
with _b:
|
| 15 |
-
# Header Area
|
| 16 |
-
with gr.Column(elem_id="moses-hero"):
|
| 17 |
-
gr.HTML("<h1>MO\u00a7ES\u2122 SigRank</h1>"
|
| 18 |
-
"<p>the diagnostic x-ray of the token economy \u00b7 ranked by \u03a5 (Net Volumetric Yield) \u00b7 volume can't buy rank</p>")
|
| 19 |
-
gr.HTML('<div id="moses-stat-strip">'
|
| 20 |
-
f'<div>operators ranked <span>{len(_ops_now)}</span></div>'
|
| 21 |
-
f'<div>MO\u00a7ES leads by <span>{_lead:,.0f}\u00d7</span></div>'
|
| 22 |
-
'<div>architecture beats budget</div>'
|
| 23 |
-
'</div>')
|
| 24 |
-
|
| 25 |
-
# TAB 1: LEADERBOARD DETAILED VIEW
|
| 26 |
-
with gr.Tab("Leaderboard"):
|
| 27 |
-
gr.Markdown("Ranked by **\u03a5 = (Cache\u00b7Output)/Input\u00b2**. Raw Read\u00b7Create\u00b7In\u00b7Out stacked under each operator. $/1M is blended cost \u2014 efficient architecture is also the cheapest.")
|
| 28 |
-
|
| 29 |
-
with gr.Row():
|
| 30 |
-
# Left Column: The actual ranking table
|
| 31 |
-
with gr.Column(scale=7):
|
| 32 |
-
rank_by = gr.Radio(list(SORT_LABELS.keys()), value="\u03a5 yield",
|
| 33 |
-
label="Rank by \u2014 pick a column to see its leaders")
|
| 34 |
-
lb = gr.HTML(board_html())
|
| 35 |
-
rank_by.change(resort_board, rank_by, lb)
|
| 36 |
-
gr.Markdown("*Corpus is curated \u2014 pasting your usage scores you live against the field but doesn't add you to the persisted board unless you're signed in via HuggingFace.*", elem_id="moses-foot")
|
| 37 |
-
|
| 38 |
-
# Right Column: Instant Operator Profile & Card View (Sticky inspection)
|
| 39 |
-
with gr.Column(scale=5):
|
| 40 |
-
gr.Markdown("### 🔍 Operator Profile Inspector")
|
| 41 |
-
op_pick = gr.Dropdown(_names, label="Select an operator to pull their card", value=None)
|
| 42 |
-
|
| 43 |
-
# Highlight the Card visual first!
|
| 44 |
-
op_card = gr.HTML()
|
| 45 |
-
op_prof = gr.Markdown(elem_id="moses-profile")
|
| 46 |
-
|
| 47 |
-
op_pick.change(view_operator, op_pick, [op_prof, op_card])
|
| 48 |
-
|
| 49 |
-
# TAB 2: INTERACTIVE SIGNAL EVALUATION
|
| 50 |
-
with gr.Tab("Clock Your Signal"):
|
| 51 |
-
# Collapsible Documentation panel to preserve vertical space
|
| 52 |
-
with gr.Accordion("📖 Setup Instructions & Terminal Commands", open=False):
|
| 53 |
-
gr.Markdown("""
|
| 54 |
-
**\u2460 Get the importer, then run it (the real path).** Paste these three lines into your terminal:
|
| 55 |
-
```bash
|
| 56 |
-
git clone [https://github.com/SunrisesIllNeverSee/moses-sigrank](https://github.com/SunrisesIllNeverSee/moses-sigrank)
|
| 57 |
-
cd moses-sigrank
|
| 58 |
-
./sigrank
|
| 59 |
-
```
|
| 60 |
-
`./sigrank --codex` for Codex \u00b7 `./sigrank --all` for both. **Nothing leaves your computer.**
|
| 61 |
-
|
| 62 |
-
**\u2461 No terminal? Paste instead (the backup).** Run one of these, copy the JSON, drop it in the box below:
|
| 63 |
-
```bash
|
| 64 |
-
npx ccusage@latest claude --json
|
| 65 |
-
```
|
| 66 |
-
""")
|
| 67 |
-
|
| 68 |
-
with gr.Row():
|
| 69 |
-
# Left Column: Input and Local Persistence Controls
|
| 70 |
-
with gr.Column(scale=5):
|
| 71 |
-
gr.Markdown("### 📥 Token Ingestion Control")
|
| 72 |
-
if _ON_SPACE:
|
| 73 |
-
gr.LoginButton(elem_id="hf-login-btn")
|
| 74 |
-
else:
|
| 75 |
-
gr.Markdown("*HuggingFace login available on the hosted Space \u2014 local mode is transient.*", elem_id="moses-foot")
|
| 76 |
-
|
| 77 |
-
nm = gr.Textbox(label="Operator Name / Handle", placeholder="your handle", max_lines=1)
|
| 78 |
-
blob = gr.Textbox(label="ccusage JSON Output —or— Four Raw Numbers (I O C R)", lines=5,
|
| 79 |
-
placeholder='Paste ccusage json here\n\nor raw sequence format: input output cache_create cache_read')
|
| 80 |
-
|
| 81 |
-
go = gr.Button("Clock My Signal ⚡", variant="primary", elem_id="compute-btn")
|
| 82 |
-
|
| 83 |
-
# Live Placement Board loads right beneath control actions
|
| 84 |
-
gr.Markdown("### 📊 Your Live Board Placement")
|
| 85 |
-
ob = gr.HTML(board_html())
|
| 86 |
-
|
| 87 |
-
gr.Markdown("### 📈 Session History & Records")
|
| 88 |
-
hits = gr.HTML()
|
| 89 |
-
|
| 90 |
-
# Right Column: The "Minting Floor" — Shows the generated trading card immediately
|
| 91 |
-
with gr.Column(scale=6):
|
| 92 |
-
gr.Markdown("### 🎴 Minted Operator Share Card")
|
| 93 |
-
card = gr.HTML() # The beautiful HTML card layout now takes immediate priority
|
| 94 |
-
|
| 95 |
-
gr.Markdown("*Right-click → Save Image to share your architectural footprint.*", elem_id="moses-foot")
|
| 96 |
-
|
| 97 |
-
prof_bar = gr.HTML() # Raw composition layout tracks directly underneath card
|
| 98 |
-
prof = gr.Markdown(elem_id="moses-profile")
|
| 99 |
-
|
| 100 |
-
# Inline Examples block underneath the column matrix
|
| 101 |
-
gr.Examples(
|
| 102 |
-
examples=[
|
| 103 |
-
['{"totals":{"inputTokens":1251211,"outputTokens":11296121,"cacheCreationTokens":128196310,"cacheReadTokens":2555179769}}','MO\u00a7ES'],
|
| 104 |
-
['{"data":[{"inputTokens":58920000,"cachedInputTokens":707300000,"outputTokens":3500000,"reasoningOutputTokens":510000}]}','codex-operator'],
|
| 105 |
-
['1251211 11296121 128196310 2555179769', 'manual-paste'],
|
| 106 |
-
],
|
| 107 |
-
inputs=[blob, nm])
|
| 108 |
-
|
| 109 |
-
# Fixed Footer
|
| 110 |
-
gr.Markdown(elem_id="moses-foot", value="""Four integers in, full ledger out.
|
| 111 |
-
Architecture is the only variable that matters.
|
| 112 |
-
Wild-corpus values provisional \u00b7 MO\u00a7ES row verified ccusage \u00b7 * = structural estimation \u00b7 [How it works \u2197](#)""")
|
| 113 |
-
|
| 114 |
-
return _b
|
| 115 |
-
|
| 116 |
-
-----
|
| 117 |
-
|
| 118 |
-
To push your submission from "functional hackathon entry" to "leaderboard favorite," we should focus on the **psychology of the hackathon judge**.
|
| 119 |
-
|
| 120 |
-
Judges look at dozens of Spaces, often spending less than 60 seconds on each. Since your backend math is incredibly robust, your goal now is to use the frontend to create an immediate "Wow" factor and drop a heavy dose of dopamine the second someone interacts with your tool.
|
| 121 |
-
|
| 122 |
-
Here are three high-impact, tactical design thoughts to implement before you lock down your submission:
|
| 123 |
-
|
| 124 |
-
---
|
| 125 |
-
|
| 126 |
-
### 1. Fix the "Empty State" with a Holographic Placeholder
|
| 127 |
-
|
| 128 |
-
Right now, when a user first switches to the "Clock Your Signal" tab or opens the Leaderboard, the right column (`op_card = gr.HTML()`) starts completely empty. A blank space makes a UI feel broken or unfinished.
|
| 129 |
-
|
| 130 |
-
Instead of initializing it as empty, pass a default HTML string that acts as a **"ghost" or "holographic" card placeholder**. It anchors the layout and shows the user exactly what they are about to build.
|
| 131 |
-
|
| 132 |
-
**The Fix:** Update your layout variables to initialize with a blueprint card placeholder:
|
| 133 |
-
|
| 134 |
-
```python
|
| 135 |
-
# Create a visual placeholder string
|
| 136 |
-
CARD_PLACEHOLDER = """
|
| 137 |
-
<div class="sig-card rarity-common" style="opacity: 0.4; border: 2px dashed #4b5563; filter: grayscale(100%);">
|
| 138 |
-
<div class="sig-card-watermark">MO§ES™ SIGRANK</div>
|
| 139 |
-
<div class="sig-card-rarity">UNMINTED</div>
|
| 140 |
-
<div class="sig-card-name">Awaiting Operator...</div>
|
| 141 |
-
<div class="sig-card-archetype">Signal Offline</div>
|
| 142 |
-
<div class="sig-card-yield">0,000</div>
|
| 143 |
-
<div class="sig-card-yield-label">Insert Token Ledger to Scan</div>
|
| 144 |
-
</div>
|
| 145 |
-
"""
|
| 146 |
-
|
| 147 |
-
# Then drop it into your Gradio blocks initialization:
|
| 148 |
-
op_card = gr.HTML(CARD_PLACEHOLDER)
|
| 149 |
-
card = gr.HTML(CARD_PLACEHOLDER)
|
| 150 |
-
|
| 151 |
-
```
|
| 152 |
-
|
| 153 |
-
---
|
| 154 |
-
|
| 155 |
-
### 2. Turn Up the Contrast on Rarity CSS (theme.py)
|
| 156 |
-
|
| 157 |
-
Your `rarity_class(m)` function maps operators to distinct visual keys (`mythic`, `epic`, `rare`, `common`). Since your theme handles custom CSS via `theme.py`, make sure those cards look distinct and visually striking. The `MYTHIC` tier should look like a rare drop in a video game.
|
| 158 |
-
|
| 159 |
-
Add these CSS overrides to your `theme.py` file to give the trading cards a premium, tactical terminal feel:
|
| 160 |
-
|
| 161 |
-
```css
|
| 162 |
-
/* Base card enhancements */
|
| 163 |
-
.sig-card {
|
| 164 |
-
position: relative;
|
| 165 |
-
border-radius: 12px;
|
| 166 |
-
padding: 24px;
|
| 167 |
-
background: #111827;
|
| 168 |
-
border: 1px solid #1f2937;
|
| 169 |
-
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.5);
|
| 170 |
-
transition: all 0.3s ease;
|
| 171 |
-
}
|
| 172 |
-
|
| 173 |
-
/* Mythic Tier: Iridescent Neon Glow */
|
| 174 |
-
.sig-card.rarity-mythic {
|
| 175 |
-
border: 2px solid #c084fc;
|
| 176 |
-
box-shadow: 0 0 20px rgba(192, 132, 252, 0.25), inset 0 0 12px rgba(192, 132, 252, 0.1);
|
| 177 |
-
background: linear-gradient(145deg, #111827, #1e1b4b);
|
| 178 |
-
}
|
| 179 |
-
.sig-card.rarity-mythic .sig-card-rarity {
|
| 180 |
-
background: linear-gradient(90deg, #a855f7, #ec4899);
|
| 181 |
-
color: white;
|
| 182 |
-
}
|
| 183 |
-
|
| 184 |
-
/* Epic Tier: Cyberpunk Cyan/Blue */
|
| 185 |
-
.sig-card.rarity-epic {
|
| 186 |
-
border: 2px solid #38bdf8;
|
| 187 |
-
box-shadow: 0 0 20px rgba(56, 189, 248, 0.2);
|
| 188 |
-
background: linear-gradient(145deg, #111827, #0c4a6e);
|
| 189 |
-
}
|
| 190 |
-
.sig-card.rarity-epic .sig-card-rarity {
|
| 191 |
-
background: #0284c7;
|
| 192 |
-
color: white;
|
| 193 |
-
}
|
| 194 |
-
|
| 195 |
-
/* Rare Tier: Amber Amber Alert */
|
| 196 |
-
.sig-card.rarity-rare {
|
| 197 |
-
border: 1px solid #fbbf24;
|
| 198 |
-
box-shadow: 0 0 15px rgba(251, 191, 36, 0.1);
|
| 199 |
-
}
|
| 200 |
-
.sig-card.rarity-rare .sig-card-rarity {
|
| 201 |
-
background: #d97706;
|
| 202 |
-
color: white;
|
| 203 |
-
}
|
| 204 |
-
|
| 205 |
-
```
|
| 206 |
-
|
| 207 |
-
---
|
| 208 |
-
|
| 209 |
-
### 3. Lean Hard Into Your "Small Model" Constraint
|
| 210 |
-
|
| 211 |
-
This is the **Build Small Hackathon**. Judges are actively looking for teams that didn't just throw raw compute at a problem. You are running a razor-sharp `openbmb/MiniCPM4-0.5B` model on ZeroGPU. **Flex that.** Add a small, explicit "Resource Efficiency Footprint" indicator right beneath your stat strip at the top of the app. It reminds the judges that your app is keeping its memory footprint low while computing complex equations like:
|
| 212 |
-
|
| 213 |
-
$$\Upsilon = \frac{\text{Cache} \cdot \text{Output}}{\text{Input}^2}$$
|
| 214 |
-
|
| 215 |
-
You can easily display this using a compact row of Gradio markdown components:
|
| 216 |
-
|
| 217 |
-
> ⚙️ **Compute Footprint:** 0.5B Parameters | **Latency:** Non-blocking Deterministic Fallback Active | **Resource Category:** Tiny Titan 🍄
|
| 218 |
-
|
| 219 |
-
---
|
| 220 |
-
|
| 221 |
-
### Your Next Step
|
| 222 |
-
|
| 223 |
-
If you drop the side-by-side layout we built into your file, along with a placeholder card to handle the blank space, you have a highly competitive, beautifully functional presentation.
|
| 224 |
-
|
| 225 |
-
How is your `theme.py` currently injecting its CSS—are you loading it as a raw string block, or do we need to format these card tier styles specifically to fit inside your existing design?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
notes:.md.md
DELETED
|
@@ -1,10 +0,0 @@
|
|
| 1 |
-
notes:
|
| 2 |
-
|
| 3 |
-
the paste section... has a hard lined input format... which is different than how ccusage prints their numbers... so we will have to figure out a way to update that... and verify the numbers self reported...
|
| 4 |
-
|
| 5 |
-
second their needs to be some some sort of time stamp on submissions... also... in order ot block people from spammign the leaderboard... only huggingface users can submit and save... their profile can load all the systems from ccusage... however they only have one entry to the leaderboard... copy and paste numbers are not saved and only get a snap shot
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
-----
|
| 9 |
-
|
| 10 |
-
the importrt section or
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
theme.py
CHANGED
|
@@ -236,12 +236,19 @@ button.primary:hover, #compute-btn:hover { background: #d8a449 !important; }
|
|
| 236 |
footer { display: none !important; }
|
| 237 |
|
| 238 |
@media (max-width: 700px) {
|
|
|
|
|
|
|
|
|
|
| 239 |
.mb-head, .mb-row {
|
| 240 |
-
grid-template-columns: 22px 1fr
|
|
|
|
| 241 |
font-size: 11px;
|
| 242 |
}
|
| 243 |
-
|
| 244 |
-
.mb-head span:nth-child(
|
| 245 |
-
.mb-row span:nth-child(
|
|
|
|
|
|
|
|
|
|
| 246 |
}
|
| 247 |
"""
|
|
|
|
| 236 |
footer { display: none !important; }
|
| 237 |
|
| 238 |
@media (max-width: 700px) {
|
| 239 |
+
/* mobile: collapse both boards to rank · operator · Υ. The numeric middle
|
| 240 |
+
columns drop out entirely instead of being crushed into too-few tracks.
|
| 241 |
+
!important beats the slim board's inline grid-template-columns. */
|
| 242 |
.mb-head, .mb-row {
|
| 243 |
+
grid-template-columns: 22px 1fr 72px !important;
|
| 244 |
+
gap: 6px !important;
|
| 245 |
font-size: 11px;
|
| 246 |
}
|
| 247 |
+
.mb-num { display: none !important; }
|
| 248 |
+
.mb-head span:nth-child(3), .mb-head span:nth-child(4),
|
| 249 |
+
.mb-row span:nth-child(3), .mb-row span:nth-child(4) { display: none !important; }
|
| 250 |
+
.mb-op { min-width: 0; overflow-wrap: anywhere; }
|
| 251 |
+
.mb-raw { font-size: 9px; line-height: 1.35; }
|
| 252 |
+
.mb-y, .mb-yval { font-size: 11px !important; }
|
| 253 |
}
|
| 254 |
"""
|