24 OCTOBER 2026 · QNBEYOND
Your simulation lab.
Sign in for your client dossier, API key, two decisions and final submission.
One code per team. Keep it within your team.
Organizer sign in ↗TEAM DASHBOARD
Your team
Your client will be assigned by an organizer after the draw.
COMPANY CALENDAR
The simulation starts at 13:00
Every 30 minutes is one company week.
Your client & brief
Not releasedThe brief and your assigned company dossier become available when the organizers release them.
Common brief SHA-256
24+ personasAt least 3 client groups, with at least 4 personas in each group you use.
Exactly 2 decisions1–3 actions each, within your client’s menu, budget and red lines.
5 repeatable runsTwo plan runs, two business-as-usual runs, one plan without surprises. Use the same personas throughout.
Your Vertex AI access
Checking availabilityHow to make your first request
Set your own key as TALP_KEY in your local environment. The example below contains no key. Never include keys or .env files in code, commits or your submission. Revealed keys hide after one minute or when you leave this tab.
curl -s -X POST \
"https://aiplatform.googleapis.com/v1/publishers/google/models/gemini-3.5-flash-lite:generateContent" \
-H "Content-Type: application/json" \
-H "x-goog-api-key: $TALP_KEY" \
-d '{"contents":[{"role":"user","parts":[{"text":"hello"}]}]}'Models verified by the organizers on 23 October: gemini-3.5-flash-lite, gemini-3.1-flash-lite, gemini-3.5-flash, gemini-3.6-flash, gemini-3.7-flash, gemini-3.8-flash, gemini-3-flash-preview, gemini-3.1-pro-preview. The two flash-lite models answer without thinking.
On macOS, if Python reports CERTIFICATE_VERIFY_FAILED, use export SSL_CERT_FILE=/etc/ssl/cert.pem. If your key does not work, tell an organizer.
Announcements
Download released updates JSON ↓Your two decisions
Choose a week, target group, one to three actions and the exact message your personas will read. You may replace a decision until its week starts. A late decision moves to the next week that has not started. No decisions can be saved from 17:30.
Final submission
One ZIP: your code, five runs, CLIENT_MEMO.md and TEAM_DOC.md. Use the same personas throughout and your two locked decisions in the plan runs. Keep API keys and .env files out of the archive.
Before uploading, extract check.py from the participant kit and run python3 check.py team-NN_submission.zip. Use Python 3.9 or newer; no extra packages are needed. It checks saved files without running your code.
Run format & check-in questions
Create five folders under runs/: plan_1 and plan_2 use your locked plan with two seeds; nodecision_1 and nodecision_2 use business as usual with two seeds; plan_nosurprises uses your plan with surprise crises and their updates switched off. The known crisis stays in every run.
Each run contains run.json, personas.jsonl, calls.jsonl, weekly.jsonl and metrics.json. Include all released announcements in the first four runs. Use UTF-8 and the same personas.jsonl in all five. In plan runs, copy run_decisions from your decision JSON download into the decisions field of run.json; use an empty list in the no-decision runs.
Also include probe.jsonl in plan_1 and nodecision_1: all eight check-in answers from each persona, before week 1 and after week 10. Store the original 1–5 scores. The challenge defines every field and the exact questions.
Submit by the scheduled deadline. The complete file must reach the server before 18:01:00, Istanbul time. A new accepted ZIP becomes the current version; earlier receipts stay in your history.