diff --git a/kits/mario/app/src/components/Stage.jsx b/kits/mario/app/src/components/Stage.jsx index 340d32a..9c35408 100644 --- a/kits/mario/app/src/components/Stage.jsx +++ b/kits/mario/app/src/components/Stage.jsx @@ -49,6 +49,22 @@ function Stat({ label, value }) { return {value}{label}; } +/** Who made the System One model playing this run, from the harness's model id. The credit follows the + * model: a run on Laya must not thank TypeSafe. An id this map does not know is shown as itself. */ +const MODEL_CREDITS = { + 'jev': { name: 'Jev', by: 'TypeSafe', href: 'https://typesafe.ai', via: 'through OpenRouter' }, + 'laya': { name: 'Laya', by: 'Convai Innovations', href: 'https://huggingface.co/convaiinnovations/laya', via: 'open weights, served by HarnessRouter' }, + 'openthai-systemone': { name: 'OpenThai-SystemOne', by: 'iApp Technology', href: 'https://huggingface.co/iapp/OpenThai-SystemOne', via: 'open weights, served by HarnessRouter' }, + 'system-one-phase2': { name: 'System One (phase2 student)', by: 'Mateo Lafalce', href: 'https://huggingface.co/lafalce/system-one-model', via: 'open weights, served by HarnessRouter' }, +}; +function ModelCredit({ model }) { + const id = String(model || ''); + const key = id.startsWith('jev') ? 'jev' : id; + const c = MODEL_CREDITS[key]; + if (!c) return <>{id ? {id} : 'a System One model'}, a System One model; + return <>{c.name} by {c.by}, a System One model, {c.via}; +} + export function Stage({ frame, fps, harness, status, running, stats, onPlay, onStop }) { const elapsed = stats.startedAt ? Math.round(((stats.endedAt || Date.now()) - stats.startedAt) / 1000) : 0; const rate = stats.actions > 1 && stats.firstAt && stats.lastAt > stats.firstAt @@ -80,7 +96,7 @@ export function Stage({ frame, fps, harness, status, running, stats, onPlay, onS

The game is Full Screen Mario at supermarioplay.com; Mario belongs to Nintendo and none of the game's files ship here. The browser is driven with Browser Use (MIT). - The model is Jev by TypeSafe, a System One model, through OpenRouter. + The model is . The harness is the open-source System One Harness.

diff --git a/kits/mario/kit.json b/kits/mario/kit.json index ade1bfb..ccbeb04 100644 --- a/kits/mario/kit.json +++ b/kits/mario/kit.json @@ -2,7 +2,7 @@ "id": "mario", "title": "Super Mario", "tagline": "A System One model plays a platform game several times a second, and you watch its browser.", - "description": "Full Screen Mario runs in a headless browser inside this deployment. The System One base reads the game's own state each step as a few literal sentences (where Mario is, what is ahead and how far) and chooses one control to hold, a few hundred milliseconds a decision, with no screenshot and no text generation. The left pane streams the browser the model is playing in; the right pane is the run's conversation, every decision with the game's reply. Credits: the game is Full Screen Mario, played at supermarioplay.com; the browser is driven with Browser Use (MIT); the model is TypeSafe's Jev through OpenRouter.", + "description": "Full Screen Mario runs in a headless browser inside this deployment. The System One base reads the game's own state each step as a few literal sentences (where Mario is, what is ahead and how far) and chooses one control to hold, a few hundred milliseconds a decision, with no screenshot and no text generation. The left pane streams the browser the model is playing in; the right pane is the run's conversation, every decision with the game's reply. Credits: the game is Full Screen Mario, played at supermarioplay.com; the browser is driven with Browser Use (MIT); the model is whichever System One model the harness runs, Jev by TypeSafe through OpenRouter or an open-weight model HarnessRouter serves.", "icon": "tabler:device-gamepad-2", "accent": "#E4572E", "harness": {