diff --git a/.gitignore b/.gitignore
index 72fa8d5..42a23b0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,9 +1,3 @@
-.DS_Store
-node_modules/
-.vscode/
-.idea/
-*.log
-.env
-.env.local
-dist/
-build/
+.vercel/
+.gitignore.local
+/tmp/
diff --git a/README.md b/README.md
index f6998d4..d071810 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,10 @@
# Token-Ignition
-> The task is the interview. Pass it, and you join the research.
+> Model horizons double every four months. The scaffolds around them do not. That gap is the work.
Token-Ignition is a **selection gate for AI-native researchers**.
-We don't hire on résumés, pitches, or intro calls. We invert the interview: you define a task, you build a system, and if that system can evolve itself and clear an AI-audited gate, you're invited into the research group.
+We don't hire on résumés, pitches, or intro calls. We invert the interview: you define a long-horizon task, you build a scaffold that evolves itself, and if that scaffold clears an AI-audited gate, you're invited into the research group.
Tokens are how we make that possible — not why we do it.
@@ -15,20 +15,54 @@ Tokens are how we make that possible — not why we do it.
This repository hosts the **v0.1 protocol test** of Token-Ignition:
- static frontend (`index.html` + `assets/`) — live at the Token-Ignition submission site
-- meta-rules, protocol spec, and submission schema (see `/spec`)
+- meta-rules, protocol spec, and submission schema (in-page + this README)
- public ledger of submission hashes — AI audit results appended by bot (to be wired)
No backend is wired yet. Submissions in v0.1 are captured client-side and hashed into a local ledger for visual/UX testing; the real submission pipeline (GitHub issue / serverless endpoint → AI audit workflow → ledger append) will land in v0.2.
---
+## The thesis
+
+Model capability doubles roughly every four months — METR's measured cadence has only accelerated since their original paper. The engineering around it — memory, tools, planning loops, self-correction, long-horizon coherence — moves at a human pace, and caps out several orders of magnitude earlier than the models themselves could support.
+
+This lab exists to close that gap. We are climbing a ladder of **token horizons per single coherent task**, from 10⁶ to 10¹². Each rung unlocked becomes a product.
+
+```
+ 10¹² ──────────── ? the research frontier
+ 10¹¹ ─────────── autonomous long-horizon research
+ 10¹⁰ ────────── multi-month project execution
+ 10⁹ ───────── self-evolving codebases
+ 10⁸ ──────── gate.3 — ignition
+ 10⁷ ─────── gate.2 — verified
+ 10⁶ ────── gate.1 — admission
+```
+
+The first three rungs are the admission ramp. What happens above them is the lab.
+
+---
+
+## Three axes of self-evolution
+
+A self-evolving scaffold must move along at least one of these axes between runs — without a human editing prompts, weights, or code in between. The third is rare. We weight it highest.
+
+| axis | what it means |
+|------|---------------|
+| **01 // behavior** | The scaffold changes *how* it acts across runs — its policies, decision rules, strategy. |
+| **02 // knowledge** | The scaffold accumulates, distills, or restructures *what it knows* across runs. |
+| **03 // scaffold** | The scaffold modifies *itself* across runs — its tools, control loop, evaluation criteria, its successor. |
+
+A system that only rewrites its prompt is not, by itself, a self-evolving scaffold.
+
+---
+
## The three gates
| gate | budget | unlock condition |
| --- | --- | --- |
| `gate.1` — admission | 1M tokens | any well-formed submission is admitted |
-| `gate.2` — verified | 10M tokens | AI auditor confirms reproducible self-evolution on gate.1 artifact |
-| `gate.3` — research | 100M tokens | emergent behavior verified by consensus of ≥3 independent models; standing invitation to join the research group |
+| `gate.2` — verified | 10M tokens | AI auditor confirms reproducible self-evolution on the gate.1 artifact, with a real delta against ablation |
+| `gate.3` — research | 100M tokens | scaffold-level evolution — not merely behavioral drift — verified by consensus of ≥3 independent models; standing invitation to join the research group |
Clearing `gate.3` is how you get in. Tokens are the side-effect that lets you keep going.
@@ -36,21 +70,23 @@ Clearing `gate.3` is how you get in. Tokens are the side-effect that lets you ke
## Meta-rules
-- **R1** — you define the task; it must require a system that evolves itself.
+- **R1** — you define the task; it must be long-horizon, and must require a scaffold that evolves itself to push the achievable horizon further.
- **R2** — you define the evaluation criterion; it must be reproducible and machine-verifiable.
-- **R3** — you build the system; the system, not you, produces the final output.
+- **R3** — you build the scaffold; the scaffold, not you, produces the final output.
- **R4** — all submissions are AI-judged; human audit is random and post-hoc.
- **R5** — identity is irrelevant; submissions are accepted under pseudonym.
- **R6** — selection is gated; pass a gate, unlock more resources; pass the final gate, join the research.
+- **R7** — ablation is required; you must submit a baseline run on the same model with the minimal scaffold. The delta is the evidence. A scaffold that cannot beat its own ablation is not evolving — it is merely present.
---
## What counts as a valid submission
-1. **Self-evolution, not prompt-engineering.** The system must modify its own behavior across iterations without human edits to prompts, weights, or code between runs.
+1. **Self-evolution, not prompt-engineering.** The scaffold must modify its own behavior, knowledge, or structure across iterations — without human edits between runs.
2. **Machine-verifiable output.** The evaluation criterion must be checkable by an AI auditor with no proprietary access — public endpoint, public artifact.
3. **Live, AI-readable endpoint.** You must provide a URL an AI can crawl. HTML is fine; JSON / OpenAPI / plain text are better. Logins, captchas, GUIs are not accepted.
-4. **Reproducibility micro-run.** Attach at least one log of a full run: inputs, intermediate state, final artifact hash. Our auditor re-runs a randomly sampled slice.
+4. **Ablation baseline.** A second endpoint or log: same model, minimal scaffold, same task. Your scaffold's contribution is the delta between this and your main endpoint.
+5. **Reproducibility micro-run.** Attach at least one log of a full run: inputs, intermediate state, final artifact hash. Our auditor re-runs a randomly sampled slice.
If the AI auditor cannot independently verify your artifact, the submission is rejected. We do not email you for clarifications. **The endpoint is the application.**
@@ -70,10 +106,10 @@ The frontend is vanilla HTML/CSS/JS — no build step. Copy / translate strings
## Roadmap
-- [x] v0.1 — static protocol test site, hybrid terminal + form UX, bilingual EN/ZH
-- [ ] v0.2 — GitHub-repo-as-backend: submissions become issues/PRs, AI audit runs as GitHub Action, ledger appends as commit
-- [ ] v0.3 — multi-model consensus judge for `gate.3` (3+ independent models), random human audit sampler
-- [ ] v0.4 — public API spec for submission endpoint requirements (`/benchmark`, artifact hash conventions)
+- [x] v0.1 — static protocol test site: thesis-layer (ladder, axes, manifesto), R7 ablation rule, bilingual EN/ZH, 7-field submission form with axis declaration + ablation baseline
+- [ ] v0.2 — GitHub-repo-as-backend: submissions become issues/PRs, AI audit runs as GitHub Action (multi-model consensus for gate.3), ledger appends as commit, axis-tagged scoring
+- [ ] v0.3 — multi-model consensus judge formalized, random human audit sampler, post-hoc reproducibility replays
+- [ ] v0.4 — public API spec for submission endpoint requirements (`/benchmark`, `/baseline`, artifact hash conventions)
---
diff --git a/assets/app.js b/assets/app.js
index 1b18928..f6e176c 100644
--- a/assets/app.js
+++ b/assets/app.js
@@ -1,267 +1,332 @@
/* ============================================================
- TOKEN-IGNITION — front-end v2
- - scrollable academic layout
- - hybrid terminal aesthetic + real form inputs
- - bilingual EN / ZH
- - procedural ASCII hero art
- - background node topology
+ TOKEN-IGNITION — v0.1 · simplified
============================================================ */
(() => {
"use strict";
+ /* --------------------------------------------------------------
+ storage shim
+ -------------------------------------------------------------- */
+
+ const SAFE_STORE = {
+ get(k) { try { return localStorage.getItem(k); } catch { return null; } },
+ set(k, v) { try { localStorage.setItem(k, v); } catch {} },
+ };
+
/* --------------------------------------------------------------
i18n
-------------------------------------------------------------- */
const I18N = {
en: {
- brand: "TOKEN-IGNITION // RESEARCH SELECTION",
+ brand: "TOKEN-IGNITION · SELECTION PROTOCOL",
- heroSubtitle: "A selection gate for AI-native researchers",
- heroHook: "The task is the interview. Pass it, and you join the research.",
+ heroSubtitle: "A selection gate for AI-native researchers · v0.1 · Apr 2026",
+ heroHook:
+ 'Model horizons double every four months. The scaffolds around them do not. That gap is the work.',
heroTagline:
- "You define the task. You build the system. The system must evolve itself. If it clears the AI-audited gate, you're invited into the research group. Tokens are how we make that possible — not why we do it.",
- heroCTA: "↓ enter the gate",
- scrollHint: "scroll to read how selection works",
+ "You define a long-horizon task. You build a scaffold that evolves itself. Clear the AI audit — you’re in the research group. The artifact is the application. Passing is the offer.",
+ heroCTA: "↓ submit your scaffold",
+ scrollHint: "scroll to read the protocol",
manifestoLabel: "manifesto",
- manifestoTitle: "HOW WE SELECT",
+ manifestoTitle: "Why this exists",
manifestoBody: `
-
Hiring in frontier AI is broken. The legible names get the interviews, the compute, the role. The people who would actually have moved the field rarely pass the filters.
-
CVs measure legibility, not ability. Pitch decks measure articulation, not craft. Interviews measure composure under pressure. None of these measure whether you can build a system that evolves itself.
-
So we inverted the interview. Give us a task you defined, and a system you built. If the system can clear the AI-audited gate by evolving itself, you're in the research group.
-
No CVs. No pitch decks. No intro calls. The artifact is the application. Passing is the offer.
+
Hiring in frontier AI filters for legibility, not ability. CVs, pitches, interviews — none of them measure whether you can build a system that evolves itself.
+
Model capability doubles every four months. The scaffolds around it move at a human pace, and cap out several orders of magnitude below what the models could support. This lab exists to close that gap. So we inverted the interview. Your artifact is the application.
`,
+ gapVizHead: "CAPABILITY · HORIZON PER TASK · LOG SCALE · 2024–2030",
+ gapModelLabel: "model",
+ gapScaffoldLabel: "scaffold",
+ gapModelAnnot: "×2 / 4mo",
+ gapScaffoldAnnot: "≈ flat",
+ gapZoneLabel: "the gap",
+ gapZoneSub: "( the lab )",
+ gapVizNote: "widening every quarter. this is the work.",
+
+ ladderLabel: "orders of magnitude",
+ ladderTitle: "The ladder",
+ ladderIntro: `
+
We measure progress by the token horizon of a single coherent task — how much compute a scaffold can meaningfully apply to one objective before it stalls. Today: 10⁶–10⁷. Target: 10¹². Each rung unlocked becomes a product.
A self-evolving scaffold must move along at least one axis between runs — without human edits. The third is rare. We weight it highest.
`,
+ axesCards: [
+ { tag: "01", name: "behavior", body: "Policies, decisions, strategy — changing across runs without a human editing the prompt." },
+ { tag: "02", name: "knowledge", body: "Memory, representations, references — accumulating and restructuring across runs." },
+ { tag: "03", name: "scaffold", body: "The scaffold modifies itself — its tools, loop, successor. The rare axis. The one we are looking for.", weighted: true, weight: "highest weight" },
+ ],
+
protocolLabel: "protocol",
- protocolTitle: "META-RULES",
+ protocolTitle: "Meta-rules",
protocolItems: [
- ["R1", "You define the task. The task must require a system that evolves itself."],
- ["R2", "You define the evaluation criterion. It must be reproducible and machine-verifiable."],
- ["R3", "You build the system. The system — not you — produces the final output."],
+ ["R1", "You define the task. It must be long-horizon, and require a scaffold that evolves itself to extend the achievable horizon further."],
+ ["R2", "You define the evaluation criterion. It must be reproducible and machine-verifiable through a public, AI-readable endpoint."],
+ ["R3", "You build the scaffold. The scaffold — not you — produces the final output."],
["R4", "All submissions are AI-judged. Human audit is random and post-hoc."],
["R5", "Identity is irrelevant. Submissions are accepted under pseudonym."],
["R6", "Selection is gated. Pass a gate, unlock more resources. Pass the final gate, join the research."],
+ ["R7", "Ablation is required. Submit a baseline on the same model with the minimal scaffold. A scaffold that cannot beat its own ablation is not evolving — it is merely present.", true],
],
- rulesLabel: "submission requirements",
- rulesTitle: "WHAT COUNTS AS A VALID SUBMISSION",
- rulesItems: [
- {
- head: "01 // Self-evolution, not prompt-engineering.",
- body: [
- "The system must modify its own behavior across iterations",
- "without human edits to prompts, weights, or code between runs.",
- ],
- },
- {
- head: "02 // Machine-verifiable output.",
- body: [
- "The evaluation criterion must be checkable by an AI auditor",
- "with no proprietary access — public endpoint, public artifact.",
- ],
- },
- {
- head: "03 // Live, AI-readable endpoint.",
- body: [
- "You must provide a URL an AI can crawl. HTML is fine.",
- "JSON / OpenAPI / plain text are better. Logins, captchas, GUIs are not accepted.",
- ],
- },
- {
- head: "04 // Reproducibility micro-run.",
- body: [
- "Attach at least one log of a full run: inputs, intermediate state,",
- "final artifact hash. Our auditor re-runs a randomly sampled slice.",
- ],
- },
- ],
- rulesCalloutHead: "// AUDIT NOTE",
- rulesCalloutBody:
- "If the AI auditor cannot independently verify your artifact, the submission is rejected. We do not email you for clarifications. The endpoint is the application.",
+ r7Head: "R7 · the ablation proof",
+ r7ScaffoldLabel: "your scaffold",
+ r7BaselineLabel: "your ablation",
+ r7Note: "the delta is the evidence. a scaffold that cannot beat its own ablation is merely present.",
+
+ auditHead: "// audit note",
+ auditBody: "If the AI auditor cannot independently verify your artifact, the submission is rejected. We do not email for clarifications. The endpoint is the application.",
allocationLabel: "the three gates",
- allocationTitle: "HOW SELECTION WORKS",
- allocation1Note:
- "Admission tier. Any well-formed submission receives a 1M token budget to run and prove its system.",
- allocation2Note:
- "Verified tier. Unlocked when the AI auditor confirms reproducible self-evolution on your gate.1 artifact.",
- allocation3Note:
- "Research tier. Unlocked when emergent behavior — absent in the initial system — is verified by consensus of ≥3 independent models. Gate.3 clearance is a standing invitation to join the research group.",
+ allocationTitle: "How selection works",
+ allocationIntro: `
+
Each gate awards more compute; each gate raises the bar. Admission is cheap. Ignition is earned. The final gate is a standing invitation — not a round of interviews.
+ `,
+ gpCmd: "gate.status --watch",
+ gpLabel1: "admission",
+ gpLabel2: "verified",
+ gpLabel3: "ignition",
+ gpState1: "● open",
+ gpState2: "○ sealed",
+ gpState3: "○ sealed",
+ gpCond1: "any well-formed submission",
+ gpCond2: "reproducible self-evolution · delta > 0 vs ablation",
+ gpCond3: "scaffold-level evolution · consensus of ≥ 3 models",
+ gpReward3: "standing invitation to the research group",
submitLabel: "submission",
- submitTitle: "APPLY BY SUBMITTING",
- submitIntro:
- "Five fields. No account. Your entry is hashed and appended to a public ledger. AI audit starts within 24h. Clear the final gate and we reach out to talk about joining the research.",
+ submitTitle: "Apply by submitting",
+ submitIntro: "Seven fields. No account. Your entry is hashed and appended to a public ledger. AI audit starts within 24h.",
+
field1Label: "task.definition",
- field1Hint:
- "What does the system have to do? One paragraph. Must be testable.",
- field1Ph:
- "e.g. Given a stream of unlabeled numerical sequences, the system must autonomously discover a compression scheme and reconstruct the originals within tolerance ε.",
+ field1Hint: "What long-horizon task must the scaffold do? One paragraph. Must be testable.",
+ field1Ph: "e.g. Given an open bug in a large Python codebase, the scaffold must autonomously reproduce the test, locate root cause, patch it, and converge to green CI — across runs of >10⁶ tokens.",
+
field2Label: "verification.criterion",
- field2Hint:
- "How will an AI auditor know you passed? Give the exact check.",
- field2Ph:
- "e.g. Auditor fetches /benchmark → receives JSON { inputs[], outputs[] }. Passes if L2 error < 0.01 on all held-out inputs and compression ratio > 8x.",
- field3Label: "execution.plan",
- field3Hint:
- "How does the system evolve itself? What loop, what signal, what memory?",
- field3Ph:
- "Describe the self-modification loop — what the system observes, how it updates itself, how it decides to stop. Write as you would write it to a peer reviewer, not to a VC.",
- field4Label: "live.endpoint",
- field4Hint:
- "A URL an AI can hit right now and get a machine-readable result.",
- field4Ph: "https://…",
- field4Artifact:
- "attach run log (optional, ≤1MB, txt/md/json/log/yaml/jsonl/csv)",
- field5Label: "contact.handle",
- field5Hint:
- "A pseudonym is fine. We only use it to notify you when a gate opens.",
- field5Ph: "e.g. @handle on X, discord username, or email",
-
- consent:
- "I confirm my submission is my own work, the endpoint is live, and I accept AI-judged, non-negotiable evaluation.",
+ field2Hint: "How will an AI auditor know you passed? Give the exact check.",
+ field2Ph: "e.g. Auditor fetches /benchmark → JSON { task_id, status, diff_sha, baseline_sha }. Passes if status == 'green' AND token_count ≥ 10⁶ AND scaffold_delta ≥ +40%.",
+
+ field3Label: "evolution.axes",
+ field3Hint: "Which axis does your scaffold evolve along? Axis 03 (scaffold) weighs highest.",
+ field3OptBehavior: "behavior",
+ field3OptKnowledge: "knowledge",
+ field3OptScaffold: "scaffold",
+ field3OptWeight: "highest weight",
+
+ field4Label: "execution.plan",
+ field4Hint: "How does the scaffold evolve itself? Loop, signal, memory, what modifies what?",
+ field4Ph: "Describe the self-modification loop — what the scaffold observes, how it updates itself, how it decides to stop. Write as you would to a peer reviewer, not a VC.",
+
+ field5Label: "live.endpoint",
+ field5Hint: "A URL an AI can hit right now.",
+ field5Ph: "https://…",
+ field5Artifact: "attach run log (optional, ≤1MB)",
+
+ field6Label: "ablation.baseline",
+ field6Hint: "Same model, minimal scaffold, same task. The delta is your scaffold’s contribution.",
+ field6Ph: "https://…/baseline",
+ field6Artifact: "attach baseline log (optional, ≤1MB)",
+
+ field7Label: "contact.handle",
+ field7Hint: "Pseudonym is fine. Used only to notify you when a gate opens.",
+ field7Ph: "e.g. @handle on X, discord, or email",
+
+ consent: "I confirm this is my own work, both endpoints are live, and I accept AI-judged, non-negotiable evaluation.",
submitButton: "submit",
- footLeft: "TOKEN-IGNITION // RESEARCH SELECTION // v0.1",
- footRight: "RESEARCH HOST: JOULE RESEARCH",
-
ledgerLabel: "ledger",
- ledgerTitle: "RECENT APPLICATIONS",
- ledgerIntro:
- "Every application is stored as a hash on a public repository. No personal data is published.",
+ ledgerTitle: "Recent applications",
+ ledgerIntro: "Every application is stored as a hash on a public repository. No personal data is published.",
+
+ footLeft: "TOKEN-IGNITION · v0.1",
+ footRight: "JOULE RESEARCH",
feedback: {
missing: "[reject] missing required fields. check highlighted items.",
- badUrl:
- "[reject] live.endpoint must be a valid URL — our auditor has to crawl it.",
- ok: (hash) =>
- `[accept] entry ${hash} queued.\nAI audit window: 24h.\nYou will not receive a confirmation email. Watch the ledger.`,
+ badUrl: "[reject] live.endpoint must be a valid URL — our auditor has to crawl it.",
+ badBaseline: "[reject] ablation.baseline must be a valid URL.",
+ noAxis: "[reject] evolution.axes must have at least one selected.",
+ ok: (hash) => `[accept] entry ${hash} queued.\nAI audit window: 24h.\nwatch the ledger.`,
},
},
zh: {
- brand: "TOKEN-IGNITION // 研究员筛选",
+ brand: "TOKEN-IGNITION · 筛选协议",
- heroSubtitle: "面向 AI 原生研究员的筛选入口",
- heroHook: "任务本身就是申请书。通过了,就进研究组。",
+ heroSubtitle: "面向 AI 原生研究员的筛选入口 · v0.1 · 2026 年 4 月",
+ heroHook:
+ "模型能力每四个月翻一倍。包在模型外面的脚手架不会。这中间的落差,就是我们要做的事。",
heroTagline:
- "你定义任务。你构建系统。系统必须自我进化。通过 AI 审计的门槛后,你会被邀请进入研究组。token 只是我们让这件事成为可能的方式,不是它的目的。",
- heroCTA: "↓ 进入申请",
- scrollHint: "向下滚动,了解筛选机制",
+ "你定义一个长跨度任务。你构建一个会自我进化的脚手架。通过 AI 审计——你就进入研究组。作品本身就是申请。通过,就是 offer。",
+ heroCTA: "↓ 提交你的脚手架",
+ scrollHint: "向下滚动,阅读协议",
manifestoLabel: "宣言",
- manifestoTitle: "我们怎么选人",
+ manifestoTitle: "为什么做这件事",
manifestoBody: `
-
前沿 AI 领域的招聘机制是坏的。能被看见的名字拿到面试、拿到算力、拿到位置。真正可能推动这个行业的人,往往过不了筛子。