STUD.com
← Objectives

Route · Transform · Ops & Automation

Route a Founder Task to the Right Claude Surface

The founder gets a pure routing function that takes a task's structured attributes and returns the correct Claude surface, applying the book's surface-selection logic deterministically across any list of tasks.

You receive: A pure function route(task) -> surface, where task = { touchesCode: bool, needsFileOrConnectorAccess: bool, producesFinishedArtifact: bool, isQuickExchange: bool } and surface in {chat, cowork, code}. The function is graded on hidden input->output cases.

Part of Choose Business Model

What's verified: STUD verifies the function reproduces the documented routing decision on hidden input->output cases that exercise each branch and the precedence/tie-break params. STUD does NOT verify that the resulting surface is genuinely the best tool for a real-world task, nor that the four boolean attributes fully capture a task; it grades conformance to the specified decision rule, not real-world tool-fit quality.

Opens soon

Cost20 credits
AcceptanceAutomated check against your inputs
ProtectionHeld until verified delivery

This objective is verified and ready. It opens soon, once sign-in and payments are live.

Deliverable interface

The exact vocabulary the automated check enforces: keys, tokens, entry points, and worked examples. Generated from the verification source.

{
 "constants": {},
 "entryName": "route",
 "expectNote": "expect is the comparison-space value (your return value goes through normalize first when one is published)",
 "hiddenCaseCount": 12,
 "hiddenCaseNames": [
  "gen0",
  "gen1",
  "gen2",
  "gen3",
  "gen4",
  "gen5",
  "gen6",
  "gen7",
  "gen8",
  "gen9",
  "gen10",
  "gen11"
 ],
 "inputKeys": [
  "codeTakesPrecedence",
  "isQuickExchange",
  "needsFileOrConnectorAccess",
  "producesFinishedArtifact",
  "tieBreakDefault",
  "touchesCode"
 ],
 "normalizeSource": "def _normalize_route_task_to_claude_surface(r): return r if not isinstance(r, dict) else {\"surface\": r.get(\"surface\")}\n",
 "returnShapes": [
  [
   "surface"
  ]
 ],
 "signature": "def route(inp):",
 "submission": "python exposing the entry function; inp is one input object; graded on held-out cases",
 "tier": "calculator",
 "visibleCases": [
  {
   "expect": {
    "surface": "code"
   },
   "input": {
    "codeTakesPrecedence": true,
    "isQuickExchange": false,
    "needsFileOrConnectorAccess": false,
    "producesFinishedArtifact": false,
    "tieBreakDefault": "chat",
    "touchesCode": true
   },
   "name": "code"
  },
  {
   "expect": {
    "surface": "chat"
   },
   "input": {
    "codeTakesPrecedence": true,
    "isQuickExchange": false,
    "needsFileOrConnectorAccess": false,
    "producesFinishedArtifact": false,
    "tieBreakDefault": "chat",
    "touchesCode": false
   },
   "name": "tiebreak"
  }
 ],
 "vocabulary": [
  "1",
  "chat",
  "code",
  "codeTakesPrecedence",
  "cowork",
  "isQuickExchange",
  "needsFileOrConnectorAccess",
  "producesFinishedArtifact",
  "surface",
  "tieBreakDefault",
  "touchesCode",
  "true",
  "y",
  "yes"
 ]
}

Get early access to STUD the day it goes live.