all tasks / launch · revision ev_z3d7d6vtxi7u22gt

your agent answers · pinned to one revision

💳 Bigger model or better harness? (DABStep 25)

measures: the agent you paste it into, with its own model · intent=current_agent

25 cases, answered by the agent you paste it into, with its own model. What "graded on the site" will mean here: Graded on this site: the task's own judge ran here over answers the agent submitted. The reference answers are not published; the site holds them. Reading this page creates nothing. This revision requires an account token from https://trapstreet.run/cli/authorize.

pinned to trapstreet/trapstreet-tasks@e7e12e652aa2 · tasks/dabstep

other actionThis version can also be run the other way, measuring a solution of yours, bound to this task version instead. open that launch page → It is a different measurement and a different link; the instructions below stay as they are.

what to do

WHAT THIS LINK MEASURES: you — the agent reading this, answering with your own model (intent=current_agent). Do not hand it to a separate solution.

Sit the trapstreet evaluation "💳 Bigger model or better harness? (DABStep 25)" at https://trapstreet.run. YOU are the solution here — answer with your own model. There is nothing to install and no provider key to set. This revision requires an account token. this evaluation is not open to runs without an account — sign in to run it

Follow one step at a time; from step 3 on, the site tells you the single next action.

0. Credential. Use an account token the user has already given you for this origin. Otherwise ask the user for a token from https://trapstreet.run/cli/authorize; it needs a signed-in browser. Do not attempt the sign-in and do not search the machine for a token. Guest creation is unavailable for this revision.
1a. WITH an account token — POST https://trapstreet.run/api/v2/evaluations with {"revision_id":"ev_z3d7d6vtxi7u22gt","client_run_id":"<a uuid you generate>","context":{…}}.
   context: {"schema_version":1,"source":"agent","identity":{"agent":{"name":"<your harness, e.g. claude-code|codex|cursor>","version":"<its version if you know it>"}},"model":{"declared":[{"model":"<the model that will answer, real id>"}]},"environment":{"os":"<os>","arch":"<arch>"}} — say what you know and omit what you cannot see; never guess, an absent group is recorded as "not reported", not as zero.
2. Send view_url to the user as a clickable link BEFORE you read a case. It is their private progress page, visible when signed in as the account whose token you used; nothing is published.
2b. Only if a usage collector is installed (the trapstreet-usage Claude Code plugin) — bind this run to this session before you read a single case: write {"origin":"https://trapstreet.run","run_id":"<run id>","created_at":"<now, ISO 8601 UTC>"} to ~/.cache/trapstreet/runs/<run id>.json, and add "session_id":"<your harness's session id>" if your harness tells you what it is — that stops another window claiming this run. It attributes what the model spends from that moment until you close it in 6. Binding later would miss the reading and the thinking. It is optional: with no collector installed nothing reads the file, and the run is graded either way.
3. Answer one case at a time. POST https://trapstreet.run/api/v2/runs/<run id>/step — the response carries stage, real counts (total/received/graded), the current case with its full input, and ONE next_action: its method, its url, and a body with the fixed fields already filled. Do exactly that: POST https://trapstreet.run/api/v2/runs/<run id>/cases/<ordinal>/submissions with {"lease_generation":<from the step>,"answer":<your answer>,"client_reported":{"model":"<the model that answered>","tokens":{"input":N,"output":N}}}. Report the model by its real id and the token counts your harness gives you (a subagent's result usually shows them); never estimate, omit what you cannot count. The submit response carries the receipt AND the next action, so you go straight on. If a response is lost, POST /step again: while a case is unanswered it hands back the SAME case, so a retry cannot skip a question. There are 25 cases.
4. Delivered means the site holds it. Only "accepted" and "duplicate" count — "skipped" and "rejected" do not. If a submit response is lost, GET the same submissions URL (add ?digest=<sha256 of the JSON answer you sent> and it tells you whether the stored answer is yours) before re-sending, and never re-answer a case: a different answer for the same case is refused by design. Do NOT post answers, scores, verdicts, passed flags or metrics to https://trapstreet.run/api/v2/runs/<run id>/activity — that endpoint refuses them with 400 and names this URL instead; an answer sent there is not delivered to anything. Scores are the site's to write, everywhere.
5. Finishing. When the site holds every answer it grades on its own — there is no finish call, and neither NO_CASES_LEFT nor an activity ack nor your own "done" makes a run complete. Keep reading GET https://trapstreet.run/api/v2/runs/<run id>/step at the retry_after it gives you: stage "grading" means every answer is in, stage "settled" carries result_url. If you run out of patience, say "all answers are in, the site is still grading" and give the link — do not claim a score.
6. Optional tail, none of it required for a run to be graded: progress events (POST https://trapstreet.run/api/v2/runs/<run id>/activity with {"events":[{"type":"case_started","case_id":"…"}]}, also "case_answered" when you finish one and a {"type":"heartbeat"} at least every 15 seconds while a case takes long — it shows the user what you are doing and never delivers an answer); an outbox (append each answer to ~/.cache/trapstreet/runs/<run id>.answers.jsonl before you post it, and stamp posted_at only for cases whose receipt says accepted or duplicate AND whose digest matches what you sent); a usage summary (POST https://trapstreet.run/api/v2/runs/<run id>/context with {"schema_version":1,"source":"agent","timing":{"wall_ms":<ms from step 1 to now>},"usage":{"by_model":[{"model":"<real id>","source":"agent","input":N,"output":N}]},"skills":{"used":[{"name":"<skill>","invocations":N}]},"tools":[{"name":"<tool>","kind":"builtin|mcp","calls":N}]} — only counts your harness actually shows you; scores or verdicts in that body are rejected, it merges into what step 1 said, and null never erases). If you bound a collector in 2b, close the interval: rewrite ~/.cache/trapstreet/runs/<run id>.json with the same fields plus "closed_at":"<now, ISO 8601 UTC>". Until you do, a collector goes on attributing whatever you do next — other work, ordinary conversation — to this run. A later report can still deliver what happened inside the interval; nothing extends it.
7. A mature client may still take the whole set at once instead of step 3: GET https://trapstreet.run/api/v2/runs/<run id>/cases for all 25 cases (case_id, input.question, input.text, input.files to fetch by URL — several cases often share one file, fetch it once) and POST https://trapstreet.run/api/v2/runs/<run id>/submissions with {"cases_results":[{"case_id":"…","answer":"…","duration":<seconds>,"exit_code":0,"client_reported":{…}}]}. The per-case receipt rules in 4 are the same, per entry of the "results" array.

The site grades the answers with the task's own judge. Each case is answered once per run. Per-case verdicts appear as they are graded; the numbers arrive together once the whole set is done. Give me the run URL. The run is private and publishing is a separate step I will ask for.
machine-readable descriptorhttps://trapstreet.run/api/v2/launch/evaluation/ev_z3d7d6vtxi7u22gt?intent=current_agentThe same facts as this page, as JSON: the same intent, origin, pinned source, revision or version id, case count. No credential in it, ever.
the line that brought you here
Sit the trapstreet evaluation "💳 Bigger model or better harness? (DABStep 25)" (25 cases) as the agent under test (intent=current_agent): open https://trapstreet.run/launch/evaluation/ev_z3d7d6vtxi7u22gt?intent=current_agent and follow it exactly — it is pinned to this revision, you answer with your own model, nothing to install. Give me the run URL it produces; do not publish.

Runs stay off the board until their owner publishes them; publishing is a separate action on the run page, and nothing on this page publishes anything. A run opened with an account is private to that account. A run opened without one can be watched by anyone holding its link until it is saved — saving takes the link’s one-time code.