userbench/UserBench-train400

UserBench train400 twin: the same 620 held tasks plus 400 leak-safe prior turns per developer. Composer 2.5 multi-label acts score by set Jaccard/IoU.

Published 7/21/2026 by

harbor run -d userbench/UserBench-train400

UserBench-train400

Twin of the public UserBench eval with leak-safe prior-session context.

Same 620 held tasks / 62 developers as userbench/UserBench@v2 (history, gold, verifier unchanged). Each task additionally ships earlier sessions for that developer under /sim/train/, totaling 400 human user-turns sampled with sqrt two-stage.

What the agent sees

Path Role
/sim/history.md Held conversation so far (identical to baseline)
/sim/train/_index.json Index of packed prior sessions (ids, timestamps, repos, turn takes, paths)
/sim/train/<sid>.md Contiguous prefixes of those sessions (same > DEVELOPER / > AGENT format)
/sim/answer.txt Where the agent writes the next developer message

The instruction is count-agnostic: it points at /sim/train/ without hardcoding “400”. The turn budget is a publish-time sampler parameter.

Leakage invariant

For each developer let T* = min(held_sessions[].ts) (manifest session timestamp).

Every packed train session satisfies:

  1. session.ts < T*
  2. max(turn.ts) < T*

This is stricter than the cohort’s session-start train/held split alone. Sessions that wall-clock-overlap the earliest held session are never included.

QC on this package: 0 / 620 tasks violate max(turn.ts) < T*.

Sampling

  1. Start from the developer’s full leak-safe train pool (all sessions/turns passing the T* rule).
  2. Allocate exactly 400 human-turns with sqrt_two_stage (time-stratified session pick, then contiguous-prefix waterfill).
  3. Emit prefixes through the k-th human turn (including intervening AGENT/TOOL/SYSTEM), with the same ~200-word-per-turn truncation as eval history.

The full pools (not just the 400-turn subsample) live in the GitHub repo under train_pools/ so future Hub variants (e.g. train1000) can resample from the same T*-filtered corpus without changing the leakage rule.

Scale

Developers 62
Tasks 620 (10 per developer; same selection as baseline)
Condition train400
Train budget 400 human-turns / developer (shared across that developer’s 10 tasks)

Task naming

Same short IDs as baseline (Harbor org/name):

userbench/<username>__<hash>

Versioning is via Harbor tags on this package (e.g. @v2). Digests differ from the noprofile baseline; consume via the dataset ref below so baseline UserBench@v2 stays pinned to zero-train digests.

Keywords

userbench · user-simulation · coding-agents · move-prediction · train400

How to reference

What Ref
This twin userbench/UserBench-train400@v2 (also latest)
Zero-train baseline userbench/UserBench@v2
Hub https://hub.harborframework.com/datasets/userbench/UserBench-train400
Full train pools (GitHub) https://github.com/AlienKevin/user-simulator/tree/main/train_pools
harbor run -d userbench/UserBench-train400@v2 -a <agent> -m <model>

Links

Task
userbench/Soph__fc2c3472
userbench/fcamblor__7309daf9
userbench/penso__ccf3440a
userbench/achildrenmile__43d956ea
userbench/fcamblor__5f26916b
userbench/jakobtfaber__a0f851cc
userbench/kmiki0__6260a388
userbench/dcambria__311fbdc2
userbench/jdsingh122918__f1bc9841
userbench/malkoG__9b248afd
userbench/dcambria__31d94d0a
userbench/johyunduk__b15e8506
userbench/henryph24__82af8b05
userbench/oddessentials__eaf6331c
userbench/dc_004__633347c9
userbench/TheurgicDuke771__e0560a3c
userbench/jskswamy__81abacf0
userbench/lyston11__ec0ffdd5
userbench/TheurgicDuke771__1b8bda9a
userbench/admarble__1ffea695
userbench/oddessentials__845a955a
userbench/khaong__7e2efac8
userbench/kohaku500__d7998363
userbench/jakobtfaber__92492978
userbench/thieso2__711016f6
userbench/blackgirlbytes__32cf9092
userbench/singampalliveerendra__91bc17ba
userbench/achildrenmile__210b9808
userbench/Stark-Industries0417__3c662166
userbench/singampalliveerendra__3f75b898
userbench/135yshr__e3ee00a3
userbench/admarble__2188f606
userbench/nosman__19985a6e
userbench/mvanhorn__716a17ba
userbench/hutusi__aa2cfed0
userbench/Poytr1__792397bd
userbench/armelhbobdad__b387bc68
userbench/achildrenmile__9b4c1a14
userbench/jhoetter__919e665d
userbench/manderson240__ec275534
userbench/4thwithme__96d539a8
userbench/yyovil__0acc2714
userbench/wildlily1021__1261af91
userbench/kmiki0__35023941
userbench/dc_001__536cd200
userbench/christso__f277e5cc
userbench/nosman__bd4601c6
userbench/PJensen__2744e784
userbench/Soph__33197b4e
userbench/winksaville__aad4a4f9
userbench/4thwithme__c9912712
userbench/junaid-appointy__cb0b492b
userbench/junaid-appointy__d8cc1ea6
userbench/dc_010__71b80cd3
userbench/manderson240__a3d3d466
userbench/blackgirlbytes__eb3010a3
userbench/robouden__cfbea6a0
userbench/heddendorp__1866113f
userbench/nathanbooth-konecta__74dc6f40
userbench/singampalliveerendra__dc989aa1
userbench/fcamblor__791476df
userbench/johyunduk__75a332c5
userbench/jobinlawrance__723f7ef8
userbench/kungfusaini__9d0a7d9e
userbench/henryph24__32550e4b
userbench/ET-NoahDolev__6ab6543d
userbench/yyovil__8e748208
userbench/blackgirlbytes__c3c0d0c7
userbench/mvanhorn__a4b76ce8
userbench/junaid-appointy__cee3b6be
userbench/Poytr1__d19883d2
userbench/christso__6f5610eb
userbench/yutakobayashidev__f67ef680
userbench/thieso2__491f5eda
userbench/gabadi__82b5fa6a
userbench/cyyeh__af946993
userbench/kungfusaini__9a3333b8
userbench/dc_001__0ced58ab
userbench/dc_001__03bfd6bd
userbench/wildlily1021__7748b2c8
userbench/oddessentials__0494e728
userbench/armelhbobdad__2856056c
userbench/jobinlawrance__66e69569
userbench/oddessentials__379f489c
userbench/armelhbobdad__9b514f47
userbench/johyunduk__f296fc43
userbench/alishakawaguchi__8c8bffaf
userbench/achildrenmile__1a13a0ad
userbench/manderson240__48f851af
userbench/dcambria__37a1120c
userbench/junaid-appointy__9ae3d2e7
userbench/christso__6858ee27
userbench/blackgirlbytes__42416c99
userbench/dc_000__d46bdcc2
userbench/Stark-Industries0417__9b04eb34
userbench/manderson240__9267ae98
userbench/yutakobayashidev__8e7c88b8
userbench/khaong__d9031f8a
userbench/henryph24__abd778f8
userbench/penso__e8f7bfab

Displaying 100 of 620 tasks