Project Info
Your wrong answer becomes a world you must investigate, fracture, rebuild, and escape. ๐ฎ Play Judge Mode โข ๐ Live Website โข ๐ป GitHub โข ๐ฌ Evidence Archive ๐ก
Inspiration
Most educational AI systems respond to a misconception by explaining why the learner is wrong. That helpsโbut it does not always change the mental model that produced the mistake. A learner may repeat the corrected answer while continuing to reason in exactly the same way. WrongWorlds began with a different question: What if a learner could enter a world where their wrong answer was actually true? Instead of immediately correcting the learner, WrongWorlds transforms the misconception into an explorable reality. Inside that reality, the learner must: ๐ Investigate the world. ๐งฉ Collect contradictory evidence. ๐ฅ Fracture its false laws. ๐ Rebuild a stronger explanation. ๐ช Prove that the new reasoning transfers to another context. The result is the Museum of Possible Realities: an educational game concept where every misconception can become a world with its own rules, evidence, experiments, and escape condition. ๐ฎ What It Does WrongWorlds is a five-act illustrated reasoning game. A learner begins with a belief: โThe marketing campaign caused the sales increase.โ GPT-5.6 interprets the learnerโs language and converts it into a structured belief model. The learner then enters Signal Cityโa world governed by that explanation. Rather than receiving the correct answer immediately, the learner must explore what their belief predicts, test competing explanations, and reconstruct the causal model using evidence. ๐งญ The Five-Act Experience ๐ The Central Causal Reveal $$ +70 = +10_{\text{campaign}} + 40_{\text{festival}} + 20_{\text{district}} $$ The campaign contributed to the increaseโbut it was not the only cause. โจ Why It Is Different WrongWorlds does not treat a misconception as a sentence to correct. It treats the misconception as a world to test. The learner must: ๐ Enter the reality created by the belief. ๐๏ธ Observe what that belief predicts. ๐งช Run controlled comparisons. ๐งฉ Collect evidence. ๐ฅ Watch the false reality fracture. ๐ Rebuild a stronger causal model. ๐ Transfer the reasoning to another world. The learner does not escape by receiving the answer. The learner escapes by demonstrating better reasoning. ๐๏ธ How We Built It WrongWorlds was built with Codex and GPT-5.6, using a strict separation between: ๐ค Generative interpretation โ๏ธ Deterministic educational authority This separation allows the system to understand flexible learner language without allowing the model to invent evidence, change simulation outcomes, or manipulate scores. ๐ค GPT-5.6 Interprets Learner Language GPT-5.6 converts free-form learner language into a structured belief model. It identifies elements such as: The proposed cause. The claimed effect. The learnerโs reasoning patterns. Relevant variables. Confidence levels. GPT-5.6 is responsible for understanding what the learner believesโnot for deciding whether that belief succeeds inside the simulation. โ๏ธ Deterministic Engines Govern the World GPT-5.6 does not determine: Evidence. Simulation results. State transitions. Fracture eligibility. Scores. Transfer outcomes. Those responsibilities remain with deterministic TypeScript domain engines controlling: ๐๏ธ Signal City experiments. ๐งฉ Evidence generation. ๐ฅ Fracture eligibility. ๐ Causal contribution values. ๐ The Reasoning Change Map. ๐ Bloom Station transfer. ๐ Completion and scoring. ๐งฑ System Architecture ๐ Core Design Principle GPT-5.6 interprets the learner. Deterministic systems retain authority over the world. ๐ค Built With Codex Codex was the primary development partner throughout the project. It supported: ๐๏ธ Architecture and domain modeling. ๐ป Implementation. ๐งช Automated testing. ๐ Deterministic replay. โฟ Accessibility. ๐จ Visual integration. ๐ผ๏ธ Asset validation. ๐ Documentation. ๐ GitHub and Vercel release workflows. ๐ Evidence integrity checks. ๐ฆ The Final Application Includes A complete five-act illustrated Gamefront. English and Spanish localization. Keyboard navigation. Reduced-motion support. Accessible 2D parity. Responsive mobile layouts. Deterministic replay. Reproducible judge-facing screenshots. A public Evidence Archive. ๐งฑ Challenges We Ran Into 1. ๐ง Separating Interpretation From Authority The hardest architectural decision was determining exactly where GPT-5.6 should stop. We wanted the model to understand natural learner language, but we did not want it to: Invent evidence. Alter simulation outcomes. Influence scoring. Change state transitions. Solving this required explicit contracts between the belief interpreter and the deterministic domain engines. 2. ๐ฎ Turning an Editorial Prototype Into a Game The first Judge Mode was technically complete, but it felt more like an educational website than a world a learner could truly enter. We rebuilt the experience around: ๐ค A recurring protagonist named Echo. ๐ Two visually distinct worlds. ๐ Portals. ๐งฉ Evidence objects. ๐ Causal hotspots. ๐ฅ A cinematic reality-fracture moment. ๐ A puzzle-driven rebuilding sequence. ๐ช A final escape state. The visual transformation changed how the experience felt without modifying the underlying causal engine or frozen evaluation artifacts. 3. ๐ Maintaining Deterministic Replay The same replay needed to produce the same: State. Evidence. Visuals. Screenshots. Final result. Every single time. The final screenshot pipeline generated byte-identical public assets across repeated runs. 4. ๐จ Cleaning and Integrating Generated Assets The original game assets contained chroma-key edge contamination. We created a deterministic cleanup process that: Preserved image dimensions. Preserved alpha transparency. Removed green spill. Retained fine hair details. Preserved crystals and energy glows. Regenerated the public visual package from the real product. 5. โฟ Preserving Accessibility Without Losing the Game Feeling WrongWorlds supports: โจ๏ธ Keyboard interaction. ๐ง Reduced motion. ๐บ๏ธ Accessible 2D mode. ๐ English and Spanish. ๐ฏ Visible focus states. ๐ฑ Mobile layouts. The challenge was preserving the causal revelation for learners who cannotโor prefer not toโuse cinematic motion. ๐ Accomplishments We Are Proud Of โ Built a complete five-act educational game experience. โ Created two visually distinct reasoning worlds. โ Preserved deterministic authority over evidence and scoring. โ Implemented three real causal experiments in Signal City. โ Added transfer assessment through Bloom Station. โ Built deterministic replay with zero application POST requests. โ Deployed a Git-backed production release on Vercel. โ Published a public GitHub repository. โ Published a public Evidence Archive. โ Added English and Spanish localization. โ Added mobile, keyboard, and reduced-motion support. โ Added Accessible 2D parity. โ Generated reproducible README, Devpost, Open Graph, and video assets. ๐งช Final Verification ๐ What We Learned ๐ง A Correction Is Not the Same as a Changed Mental Model A learner can remember the right answer without understanding why the original reasoning failed. WrongWorlds makes the misconception: Visible. Testable. Explorable. Breakable. Rebuildable. ๐ Transfer Matters A learner has not fully learned a reasoning pattern if they can only repeat it in the original example. Bloom Station exists to test whether controlled-comparison reasoning transfers to a completely different context. ๐ AI Becomes Stronger When Its Authority Is Bounded GPT-5.6 is valuable because it can interpret the many ways a learner may express a belief. The deterministic engine is valuable because it guarantees that: Evidence remains stable. Scores remain reproducible. Simulations remain auditable. Evaluation remains trustworthy. The strength of the system comes from giving each component a clearly defined responsibility. ๐จ Visual Design Changes How Technical Work Is Understood The original implementation already contained the causal engine, but the illustrated Gamefront made the educational concept immediately understandable. The fracture scene became the clearest expression of the product: One apparent cause breaking into multiple contributions. ๐ What Is Next WrongWorlds currently contains: ๐๏ธ One primary exhibit: Signal City. ๐ One transfer world: Bloom Station. The Museum of Possible Realities could expand into new exhibits covering: ๐ฌ Science misconceptions. โ Mathematical reasoning. ๐ฐ Economics. ๐ History. ๐ Statistics. โ๏ธ Systems thinking. ๐ฐ Media literacy. ๐ฎ Future Work Could Include Teacher-authored WrongWorlds. Classroom cohorts. Learner progress histories. Adaptive transfer worlds. Controlled educational studies. Long-term learning and retention measurement. โ ๏ธ Current Limitation The current Evidence Archive is exploratory and is not presented as proof of educational efficacy. Larger learner studies would be required to measure: Long-term learning. Retention. Reasoning improvement. Transfer across contexts. ๐ฎ Try WrongWorlds ๐ ๏ธ Built With Codex ยท GPT-5.6 ยท TypeScript ยท React ยท Next.js ยท Node.js ยท Playwright ยท Vitest ยท Vercel ยท GitHub ยท CSS Modules ยท HTML5 ยท WebP ยท Accessibility ยท Internationalization ยท Deterministic Simulation ๐ Enter the wrong world. Test its laws. Rebuild the truth. Escape with better reasoning.
WrongWorlds
Your wrong answer becomes a world you must investigate, fracture, rebuild, and escape.
A Museum of Possible Realities for causal reasoning.
The thesis
Most educational AI explains why a learner is wrong. WrongWorlds lets the learner enter a reality where the wrong explanation appears to be trueโand escape only after reconstructing the reasoning.
WrongWorlds is a narrative educational game and misconception-reconstruction system. A learner commits to a causal explanation, enters a simulated world governed by that belief, investigates contradictory evidence, rebuilds the explanation, and tests the same reasoning in a new context.
GPT-5.6 interprets learner language. Deterministic engines retain authority over evidence, simulation, state transitions, and scoring.
Experience WrongWorlds in 90 seconds
- Enter the Portal of Belief.
- Investigate the three Signal City hotspots.
- Collect three evidence fragments.
- Watch the apparent
+70result fracture. - Rebuild the causal explanation.
- Transfer the reasoning in Bloom Station.
- Reach WORLD ESCAPED.
No account, credentials, or API key are required. The public Judge Mode is a deterministic replay designed to preserve the same evidence, transitions, and result without network variance.
From misconception to transfer
Enter the WrongWorld
The learner's causal belief becomes the governing law of a simulated reality.
Break its false laws
Controlled comparisons reveal evidence the original explanation cannot account for.
Escape with better reasoning
The learner must apply the reconstructed reasoning in a different world.
The educational loop
WrongWorlds is designed around four mechanisms: externalizing a learner's mental model, generating cognitive conflict through evidence, reconstructing the causal explanation, and testing transfer in a new context.
flowchart LR
A["Learner misconception"] --> B["Belief becomes a world"]
B --> C["Learner predicts what the world should do"]
C --> D["Controlled comparisons"]
D --> E["Contradictory evidence"]
E --> F["Reality fracture"]
F --> G["Causal model reconstruction"]
G --> H["Transfer in a new world"]
H --> I{"Reasoning transfers?"}
I -- Yes --> J["WORLD ESCAPED"]
I -- No --> G
- Externalization โ A misconception becomes inspectable instead of remaining hidden in language.
- Evidence-driven conflict โ The learner experiences a mismatch between the initial explanation and controlled comparisons.
- Reconstruction โ The learner builds a more defensible causal model instead of receiving a correction to memorize.
- Transfer โ Bloom Station checks whether the comparison strategy can be applied outside the original scenario.
This is an educational design hypothesis supported by an exploratory engineering evaluationโnot proof of educational efficacy.
GPT-5.6 is an interpreterโnot the authority
The optional live path sends free-form English or Spanish learner language through the server-only OpenAI Responses API. GPT-5.6 returns a Structured Output, and the application validates it again with Zod as BeliefModel@2.0.0 before it can enter the experience.
The current contract is derived directly from src/core/ai/schemas.ts:
type BeliefModel = {
schemaVersion: "2.0.0";
language: "en" | "es";
primaryClaim: string;
claimedCause: "campaign" | "festival" | "district" | "multiple" | "unclear";
claimedEffect: "sales";
causalStrength: "certain" | "probable" | "possible" | "unclear";
mentionedExplanatoryVariables: ("campaign" | "festival" | "district" | "time")[];
omittedRelevantVariables: ("campaign" | "festival" | "district" | "time")[];
reasoningPatterns: ReasoningPattern[];
uncertaintyLanguage: string[];
conciseMirror: string;
};
causalStrength records linguistic confidence, not evidential validity. claimedEffect is always sales, while explanatory variables are limited to explicitly mentioned campaign, festival, district, or time.
| Versioned boundary | Frozen value |
|---|---|
| Model | gpt-5.6-sol |
| Belief contract | BeliefModel@2.0.0 |
| Prompt | belief-model.v2.2 |
| Runtime | belief-runtime.v2 โ 15 seconds, zero automatic retries |
| Metrics | belief-metrics.v2.1 |
| Responsibility | GPT-5.6 | Deterministic / validated system |
|---|---|---|
| Interpret learner language | Yes | No |
| Produce a structured belief representation | Yes | Validates the contract |
| Generate experiment outcomes | No | Yes |
| Decide what evidence was produced | No | Yes |
| Determine fracture eligibility | No | Yes |
| Control world state | No | Yes |
| Evaluate Bloom transfer | No | Yes |
| Open the exit portal | No | Yes |
flowchart LR
subgraph Modes["Two execution modes"]
Live["New learner language"] --> Action["interpretBeliefAction"]
Action --> Interpreter["interpretBelief"]
Interpreter --> GPT["GPT-5.6 Sol<br/>Structured Output"]
GPT --> Schema["BeliefModel@2.0.0<br/>Zod validation"]
Replay["Verified Judge replay"] --> Frozen["getJudgeReplay<br/>frozen interpretations"]
end
Schema --> Store["useLearningStore"]
Frozen --> Store
Store --> Learning["Learning Engine<br/>transitionLearningSession"]
Manifest["ScenarioManifest@1.0.0"] --> Simulation["Simulation Engine<br/>pure comparisons"]
Simulation --> Learning
Learning --> Evidence["Evidence + fracture eligibility"]
Evidence --> ChangeMap["ReasoningChangeMap@1.0.0"]
ChangeMap --> Bloom["BloomTransferSession<br/>pure transfer rubric"]
Bloom --> Exit{"WORLD ESCAPED?"}
The model may interpret what the learner believes. It cannot change what the evidence means.
Two execution modes, one authority model
Live interpretation path. When explicitly enabled with server-only configuration, GPT-5.6 converts new learner language into the versioned belief contract. Requests use store: false; invalid output or provider failure remains a visible, recoverable error.
Deterministic Judge Mode. The public replay uses exact frozen interpretations from ai-live-20260720T192203945Z-33656. It labels that provenance as a verified replay and does not pretend a live request occurred. The replay exists so every judge can encounter the same evidence and state transitions without credentials.
Both modes feed the same deterministic simulation, learning rules, reconciliation, and transfer rubric. The public release keeps live interpretation disabled with WRONGWORLDS_DISABLE_LIVE=1.
What happens after the learner enters a belief
The runtime sequence below uses implemented functions and state holdersโnot hypothetical services.
sequenceDiagram
actor Learner
participant UI as SignalCityExperience
participant Store as useLearningStore
participant Learning as transitionLearningSession
participant Action as interpretBeliefAction
participant Interpreter as interpretBelief
participant GPT as GPT-5.6 Sol
participant Schema as BeliefModel Zod schema
participant Simulation as runSignalCityExperiment
participant Bloom as transitionBloomTransfer
Learner->>UI: Commit free-form belief
UI->>Store: dispatch(COMMIT_BELIEF)
Store->>Learning: apply LearningCommand
Learning-->>Store: LearningSession at world_lab
UI->>Action: initial belief request
Action->>Interpreter: validated request
Interpreter->>GPT: Responses API, store false
GPT-->>Interpreter: Structured Output
Interpreter->>Schema: parse BeliefModel@2.0.0
Schema-->>Store: receiveInterpretation(initial)
Learner->>UI: Inspect a Signal City hotspot
UI->>Simulation: run a named comparison
Simulation-->>Learning: ScenarioComparison
Learning-->>Store: evidence log and fracture eligibility
Learner->>UI: Rebuild explanation
UI->>Store: receiveInterpretation(revised)
Store->>Store: reconcileReasoningChange
Learner->>UI: Test Bloom Station transfer
UI->>Bloom: controlled comparison and conclusion
Bloom-->>Learning: successful observable result
Learning-->>UI: evidence_card / WORLD ESCAPED
In Judge Mode, getJudgeReplay replaces only the live request segment. Every subsequent comparison, transition, reconciliation rule, and transfer requirement is unchanged.
A game state machineโnot a sequence of static pages
The five visual acts project real domain state. Presentation state alone cannot advance the learner.
stateDiagram-v2
[*] --> Threshold
Threshold --> Believe: startJudgeDemo / COMMIT_BELIEF
Believe --> Investigate: enterWrongWorld / RECORD before-after
Investigate --> Investigate: collect one unique experiment
Investigate --> Fracture: 3 unique fragments + OPEN_FRACTURE
Fracture --> Rebuild: ACKNOWLEDGE_FRACTURE
Rebuild --> Transfer: SUBMIT_REBUILD / Judge concepts complete
Transfer --> Transfer: temporal or missing comparison
Transfer --> Escaped: successful Bloom rubric + SUBMIT_TRANSFER
Escaped --> Threshold: Restart
LearningSessionrejects commands issued in the wrong phase.- A hotspot whose
sourceIdis already recorded is ignored, so repeated clicks cannot duplicate Judge Mode experiments. - Fracture requires a one-factor controlled comparison plus a distinct confounder-isolation or population comparison.
ReasoningChangeMap@1.0.0marks claims supported only when a recorded comparison isolates that factor.BloomTransferSessionrequires a meaningful hypothesis,isolate-irrigation, a meaningful conclusion, and the required structured concepts.- WORLD ESCAPED appears only after Bloom reports
successful: trueandSUBMIT_TRANSFERmovesLearningSessiontoevidence_card.
Signal City: one visible result, multiple causes
The initial before/after view changes campaign, festival, and district together:
Observed change:
+70 = +10 campaign + +40 festival + +20 coastal district
The learner initially attributes the whole increase to the campaign. The validated signal-city@1.1.0 manifest instead lets three named comparisons isolate the contributors:
| Hotspot | Deterministic experiment | Classification | Evidence purpose |
|---|---|---|---|
| Campaign Transmitter | isolate-campaign | controlled | Isolate the campaign contribution: +10 |
| Festival Stage | isolate-festival | confounder_isolation | Identify the strongest competing contribution: +40 |
| Commercial District | compare-district | population | Compare the coastal district contribution: +20 |
The educational conclusion is not โthe campaign caused nothing.โ It is:
The campaign may contribute, but the available before-and-after comparison does not justify attributing the full resultโor primary causal responsibilityโto it.
Visual gallery
Built to be inspected
WrongWorlds separates product verification, model-interpretation evaluation, and educational evidence so one cannot be mistaken for another.
| Evidence layer | Verified status | What it doesโand does notโshow |
|---|---|---|
| Product verification | Final release gate recorded 143/143 Vitest tests, 26/26 active Playwright tests, production build PASS, and 2 offline-profile tests intentionally skipped in that deterministic profile | The code follows its tested contracts; this is not a learning-outcome claim |
| Public Judge Mode QA | Required routes returned 200; complete replay, zero application POST, zero GPT, mobile, reduced motion, Accessible 2D, and tested axe checks passed | The deployed deterministic path worked at the verified point in time; this is not an uptime or full WCAG claim |
| Model interpretation | Frozen 20-case holdout processed 20/20; 10 gates passed and 1 failed | Measures structured belief interpretation on a small synthetic holdout, not evidential correctness or learning efficacy |
| Educational evidence | No learner outcome study completed | Long-term learning and transfer remain unproven and require future study |
The visible failed holdout gate is preserved: reasoning-pattern precision / recall / F1 was 0.7857 / 0.7857 / 0.7857, below the pre-registered 0.8500 F1 threshold. Cause acceptable match was 17/18 = 0.9444; explanatory-variable F1 was 0.9630. These values describe model interpretation only.
- Model:
gpt-5.6-sol - Contract:
BeliefModel@2.0.0 - Prompt:
belief-model.v2.2 - Dataset:
belief-benchmark.v2 - Runtime:
belief-runtime.v2 - Metrics:
belief-metrics.v2.1 - Holdout report:
evidence-report.v2.2 - Closeout:
evidence-closeout.v1 - Development run:
ai-live-20260720T192203945Z-33656- Raw SHA-256:
c30159f55dfe088a05cfca997f6fda37677a0f21abb54d805b1b6e3da7002e1f - Report SHA-256:
bde808e88932e5924f1f11134dd4022e3b783798743970743a4862e7ccc22625
- Raw SHA-256:
- Single authorized holdout:
ai-live-20260720T195247731Z-11704- Raw SHA-256:
d752bb5b10e5893f44ce21be9d2c3ca1fef9f14173f594a24afe79676d30339d - Report SHA-256:
8440e6631213d769a142b0cc6e8c6c2c3720a6e6ca5475aad131fa5cd22bd105
- Raw SHA-256:
- Publication status:
exploratory_not_promoted - Holdout policy: one execution, no post-holdout tuning
The two injection cases passed their bounded checks, but 2/2 synthetic cases are not a general security guarantee. See the public Evidence Archive, frozen final evaluation, and evidence methodology.
The current Evidence Archive is exploratory and is not presented as proof of educational efficacy. Larger learner studies would be required to measure long-term learning and transfer.
The same reasoning experience across interaction modes
The verified experience includes:
- keyboard-operable actions and visible focus treatment;
- English and Spanish paths over the same state;
prefers-reduced-motionsupport that preserves the causal revelation;- an Accessible 2D projection using the same intents and read model as the immersive view;
- tested
390ร844mobile layouts without horizontal overflow; - semantic radio controls for Bloom Station choices;
- deterministic replay and screen-reader status messages.
Automated Playwright and axe-core checks are part of the gate, but they do not constitute full WCAG certification. Manual screen-reader, forced-colors, 400% zoom, physical-device, Safari, and Firefox review remain outstanding.
Repository map
src/
โโโ app/ Next.js routes, server action, and metadata
โโโ core/
โ โโโ ai/ Belief schemas and deterministic reconciliation
โ โโโ learning/ LearningSession state machine and evidence rules
โ โโโ simulation/ Pure manifest-driven causal engine
โ โโโ transfer/ BloomTransferSession and observable rubric
โ โโโ evidence/ Evidence Card and manifest projection
โโโ experience/
โ โโโ adapters/ Accessible/immersive parity contract
โ โโโ gamefront/ Five-act Judge Mode controller and view model
โ โโโ immersive/ React Three Fiber presentation
โ โโโ state/ Zustand orchestration
โโโ integrations/
โ โโโ openai/ Server-only Responses API adapter and prompts
โ โโโ evidence/ Read-only Archive projection
โโโ scenarios/
โโโ signal-city/ Causal manifest, experiments, frozen judge replay
โโโ bloom-station/ Transfer manifest and comparisons
public/
โโโ gamefront/v1/ Typed 13-slot illustrated asset set
โโโ submission/v1/ Deterministic judge-facing screenshots
โโโ wrongworlds-og.png Open Graph image
evidence/ Frozen datasets, raw runs, reports, and closeout
tests/e2e/ Playwright journeys, accessibility, and public QA
scripts/ Asset, fixture, and verification tooling
submission/ Devpost copy, runbook, and media inventory
The dependency direction is intentional: UI and integrations consume typed domain contracts; they do not duplicate simulation equations, fracture rules, or transfer scoring.
Codex as an engineering partner
WrongWorlds was built through a human-directed engineering workflow. Human product direction defined the thesis, educational experience, visual standard, causal correction, evidence policy, and release decisions. Codex accelerated implementation, verification, and reproducibility.
That collaboration covered architecture exploration, typed domain contracts, deterministic engines, automated tests, accessibility, illustrated asset integration, alpha-edge cleanup tooling, screenshot reproducibility, GitHub branching, Vercel Preview and Production QA, and evidence-freeze protection.
GPT-5.6 served the bounded language-interpreter role and was evaluated through versioned evidence artifacts. Neither GPT-5.6 nor Codex was allowed to rewrite causal truth, frozen metrics, or release authority.
The hackathon form still requires a human to run /feedback in the Codex session where most core work occurred and copy the resulting Session ID. Current placeholder: CODEX_SESSION_ID_PENDING_HUMAN_CAPTURE.
Limitations and next exhibits
The current release contains one primary causal-reasoning exhibit, Signal City, and one transfer context, Bloom Station. State remains local and in memory; refresh resets a run. Production deliberately disables live interpretation, while the optional own-belief path requires an explicitly configured server-only GPT connection.
The interpretation evaluation is exploratory, the holdout is small and synthetic, one pre-registered quality gate failed, and no learner study has demonstrated educational efficacy, durable conceptual change, or long-term transfer. Authentication, persistence, telemetry, production privacy workflows, PWA installation, public REST, embed, and MCP deployment are not implemented.
Future exhibits could apply the same misconception โ evidence โ reconstruction โ transfer structure to mathematics, science, economics, history, statistics, systems thinking, and media literacy. Those are directions, not shipped capabilities.
Run locally
Requirements: Node.js 24+ and npm 11+.
Fastest path
npm install
npm run dev
Open the development URL printed by Next.js. Add /?mode=judge for the curated replay or /evidence for the read-only archive.
Deterministic/offline profile
The curated replay needs no OpenAI credentials. For a release-like local environment, explicitly disable live interpretation:
$env:WRONGWORLDS_DISABLE_LIVE='1'
npm run dev
WRONGWORLDS_DISABLE_LIVE=1 npm run dev
Copy .env.example only when local environment configuration is needed. The optional live path requires server-only OPENAI_API_KEY and OPENAI_MODEL=gpt-5.6-sol, plus an explicit decision to remove the live-disable guard. Never expose the key through NEXT_PUBLIC_* variables.
Verification
npm run lint
npm run typecheck
npm test
npm run build
npm run test:e2e
npm run submission:verify
npm run evidence:verify
Run the complete deterministic gate with:
npm run verify
npm run evidence:verify works offline: it validates schemas and frozen hashes, regenerates reports in memory, replays deterministic sessions, verifies Archive references, and scans public artifacts for credential-like values. Do not run benchmark:ai, a holdout, or any live evidence command without explicit authorization.
Judge and engineering documents
- JUDGES_START_HERE.md โ shortest verified product path.
- docs/DEMO_RUNBOOK.md โ presenter and recovery procedure.
- docs/DEPLOYMENT_VERIFICATION.md โ deployed environment and public QA record.
- docs/AI_ROLE.md and docs/PROMPT_CONTRACTS.md โ AI authority and versioned contracts.
- submission/DEVPOST_SUBMISSION.md โ prepared submission copy.
- submission/VIDEO_SCRIPT.md and shot list โ final video plan.
- submission/ASSET_INDEX.md โ canonical media inventory.
- PRODUCT_CONSTITUTION.md, SCOPE_LOCK.md, ARCHITECTURE.md, and LIMITATIONS.md โ binding boundaries and non-claims.
Final links
Don't tell learners why they are wrong. Let them enter the WrongWorldโand learn how to escape it.
Analysis
View
Metric
- 1
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- Next.jsIn code
- OpenAIIn code
- ReactIn code
- TypeScriptIn code
- VercelClaimed
5 of 6 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
- CodexConfig
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
1004 KB
Source files
182
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
jpablortiz96/wrongworlds
291 files ยท 17.5 MB ยท @ b601de7
Structure
Interface
16 files ยท 5%Screens, components and styles rendered to the user.
Application logic
107 files ยท 37%Domain rules, services and shared utilities.
+9 moreData & schema
3 files ยท 1%Schema definitions, migrations and data access.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here โ open the file browser to check anything the diagram implies.
Languages
- TypeScript62%
- Markdown31%
- CSS7%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
package.json
npm ยท 20- @react-three/drei
- @react-three/fiber
- next
- openai
- react
- react-dom
- three
- zod
- zustand
- +11 more
Declared in the repositoryโs manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This projectโs features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.