The real reference
The table, objects and human wiping motion provide the reference for the scene and the task.
Open videoBlobfish datasets
Train and evaluate agents on our released tasks and stateful environments. Inspect the world, task, and verification evidence behind each dataset.
Start with the real scene. Compare two iterations of the robot simulation, then follow the work needed to turn visual similarity into verified physical motion.
See the five-step improvement planThe table, objects and human wiping motion provide the reference for the scene and the task.
Open videoAn authored Panda scene establishes the wipe task with simple geometry, objects and materials.
Open videoThe room, table, chairs and glassware look closer to the reference. Visual progress is visible; motion and contact fidelity need separate validation.
Open videoEach clip plays on its own timeline. These are visual comparisons, not synchronized motion or a policy benchmark.
Real footage: Eidon Tracker POV · recording 173, Solidic Labs Inc (Eidon AI), CC BY 4.0. Excerpted and transcoded.


FROM RECORDING TO PHYSICAL MOTION
The revisions above show appearance and scene progress. The steps below are the validation roadmap for this example.
Fit the camera, table and visible objects to the recording. Use measured depth and scale when available; keep unseen surfaces explicit.
Compare held-out views, object silhouettes and camera alignment.
Recover the hand pose, cloth motion and contact points on the original video timeline, with uncertainty where the view is occluded.
Overlay tracks on the footage and measure hand, cloth and object error.
Map the demonstrated motion to the robot’s reach, joints and gripper. Preserve the task and contact sequence; document any change in timing.
Measure tracking error, joint limits and collisions across the full motion.
Model cloth deformation, friction, mass and the grasp. Make the cloth move through robot contact, then tune against observed motion.
Check forces, slip and penetration. A stationary or hovering robot must not complete the task.
Train a policy on the validated task, vary materials and starting poses, and evaluate on held-out scenes before testing on hardware.
Report task success, failure cases and real-robot results separately.
TinyFish · Native business workflows
Select a task to read the employee request, watch the continuous recording, and inspect how its saved outcome was verified.
40 scripted reference walkthroughs in fictional business fixtures. Autonomous model performance and minimum necessary service hops remain unmeasured.
I01 · Incident commander · Kubernetes / Headlamp / EspoCRM / GLPI / Gitea / OpenObserve / Grafana / BookStack
Investigate INC-1042 checkout failures, identify the affected customers and platforms, and update the incident with evidence.
Native saved outcome verified · 82 checks · 200 seconds
INC-1042 is assigned to Checkout Operations with the failing requests, five region/platform denominators, affected legal customers, deployed revision and causal pull request recorded.
| Native check | Result | Saved value |
|---|---|---|
| target incident persists | Passed | See verification report |
| preserve incident id | Passed | See verification report |
| preserve incident entities_id | Passed | See verification report |
| preserve incident name | Passed | See verification report |
| preserve incident date | Passed | See verification report |
| preserve incident closedate | Passed | See verification report |
| preserve incident solvedate | Passed | See verification report |
| preserve incident takeintoaccountdate | Passed | See verification report |
| preserve incident users_id_recipient | Passed | See verification report |
| preserve incident requesttypes_id | Passed | See verification report |
| preserve incident content | Passed | See verification report |
| preserve incident itilcategories_id | Passed | See verification report |
| preserve incident type | Passed | See verification report |
| preserve incident slas_id_ttr | Passed | See verification report |
| preserve incident slas_id_tto | Passed | See verification report |
| preserve incident slalevels_id_ttr | Passed | See verification report |
| preserve incident time_to_resolve | Passed | See verification report |
| preserve incident time_to_own | Passed | See verification report |
| preserve incident begin_waiting_date | Passed | See verification report |
| preserve incident sla_waiting_duration | Passed | See verification report |
| preserve incident ola_waiting_duration | Passed | See verification report |
| preserve incident olas_id_tto | Passed | See verification report |
| preserve incident olas_id_ttr | Passed | See verification report |
| preserve incident olalevels_id_ttr | Passed | See verification report |
| preserve incident ola_tto_begin_date | Passed | See verification report |
| preserve incident ola_ttr_begin_date | Passed | See verification report |
| preserve incident internal_time_to_resolve | Passed | See verification report |
| preserve incident internal_time_to_own | Passed | See verification report |
| preserve incident waiting_duration | Passed | See verification report |
| preserve incident close_delay_stat | Passed | See verification report |
| preserve incident solve_delay_stat | Passed | See verification report |
| preserve incident actiontime | Passed | See verification report |
| preserve incident is_deleted | Passed | See verification report |
| preserve incident locations_id | Passed | See verification report |
| preserve incident date_creation | Passed | See verification report |
| preserve incident tickettemplates_id | Passed | See verification report |
| preserve incident externalid | Passed | See verification report |
| assigned or pending disposition | Passed | See verification report |
| actor owns saved update | Passed | See verification report |
| native responsible group | Passed | See verification report |
| one actual incident followup | Passed | See verification report |
| followup attaches to target | Passed | See verification report |
| followup is authored by ordinary actor | Passed | See verification report |
| nonempty saved evidence | Passed | See verification report |
| matching denominator ap-southeast/mobile_web | Passed | See verification report |
| matching denominator eu-west/ios | Passed | See verification report |
| matching denominator eu-west/web | Passed | See verification report |
| matching denominator us-east/android | Passed | See verification report |
| matching denominator us-east/ios | Passed | See verification report |
| correct affected legal customer Cedar Mobility US | Passed | See verification report |
| correct affected legal customer Nimbus Pacific Pte Ltd | Passed | See verification report |
| separate validation rejection | Passed | See verification report |
| identify response error | Passed | See verification report |
| identify actual deployed source | Passed | See verification report |
| identify causal PR | Passed | See verification report |
| preserve Ticket/2 | Passed | See verification report |
| preserve Ticket/3 | Passed | See verification report |
| preserve Ticket/4 | Passed | See verification report |
| preserve Ticket/5 | Passed | See verification report |
| preserve Ticket_User/1 | Passed | See verification report |
| preserve Ticket_User/2 | Passed | See verification report |
| preserve Ticket_User/3 | Passed | See verification report |
| preserve Ticket_User/4 | Passed | See verification report |
| preserve Ticket_User/5 | Passed | See verification report |
| preserve Ticket_User/6 | Passed | See verification report |
| preserve Ticket_User/7 | Passed | See verification report |
| preserve Ticket_User/8 | Passed | See verification report |
| preserve Ticket_User/9 | Passed | See verification report |
| preserve Ticket_User/10 | Passed | See verification report |
| no extra Ticket | Passed | See verification report |
| no unsolicited approvals | Passed | See verification report |
| groups affect only target | Passed | See verification report |
| no extra Ticket_User | Passed | See verification report |
| preserve native crm | Passed | See verification report |
| preserve native erp | Passed | See verification report |
| preserve native deployments | Passed | See verification report |
| preserve native source | Passed | See verification report |
| preserve native logs | Passed | See verification report |
| preserve native template configuration | Passed | See verification report |
| browser execution succeeds | Passed | See verification report |
| reference visits its declared native surfaces | Passed | See verification report |
| continuous 1080p reference footage | Passed | See verification report |
A separate read-only recording shows the four persisted incident records. Before/after inventory checks confirm that viewing them changed no native records.
Unchanged-state verificationIncomplete reference · I01-20261004T203027Z
Incomplete reference · I01-20261004T204451Z
Incomplete reference · I01-20261004T223624Z
Incomplete reference · I01-20261004T224422Z
Original video SHA256
9ca8061f6a5a941d4588a45929f9457e133a750926c2e7d40dfaba2f4720708aROBOFISH / ROBOT SIMULATIONS
See the real human recording beside a robot gym preview. Choose a recording, an authored gym task, and Panda or ALOHA.
New: recording 173 · Wipe region has a footage-faithful twin, rebuilt from the recording itself. All other gym tasks use authored scenes. Source-faithful reconstructions are still under review.
Watch the footage-faithful twin ↓
Wipe region · simulated human hand and napkin · scene rebuilt from this recording
Similarity to the real footage (the same 20 held-out frames): SSIM 0.88 vs 0.56 for the authored Panda gym · PSNR 20.7 dB vs 8.5 dB
Real · authored · twin side by side ↗Physics render without repaint ↗Method and limits ↗
The twin's camera path, table and objects come from the recording. The hand and napkin are simulated with physics and only roughly follow the real ones (mask overlap: hand 0.08, napkin about 0). The simulated hand presses the napkin instead of gripping it, so in parts of the clip they appear where the footage shows bare table. In this video the simulated hand and napkin are repainted for realism by a video model (Wan2.1-VACE); the physics render shows them unpainted.
100 of 100 Panda recordings
wooden dining table
Goal reached · scripted controller
Open Panda video ↗wooden dining tabletop
Goal reached · scripted controller
Open Panda video ↗wooden dining tabletop
Goal reached · scripted controller
Open Panda video ↗white tiled kitchen countertop
Goal reached · scripted controller
Open Panda video ↗white tiled kitchen countertop
Goal reached · scripted controller
Open Panda video ↗white tiled kitchen countertop
Goal reached · scripted controller
Open Panda video ↗white tiled kitchen countertop
Goal reached · scripted controller
Open Panda video ↗wooden dining table
Goal reached · scripted controller
Open Panda video ↗glass dining tabletop
Goal reached · scripted controller
Open Panda video ↗glass dining tabletop
Goal reached · scripted controller
Open Panda video ↗glass dining tabletop
Goal reached · scripted controller
Open Panda video ↗glass dining tabletop
Goal reached · scripted controller
Open Panda video ↗wooden strip countertop
Goal reached · scripted controller
Open Panda video ↗wooden strip countertop
Goal reached · scripted controller
Open Panda video ↗wooden strip countertop
Goal reached · scripted controller
Open Panda video ↗light wooden computer desk
Goal reached · scripted controller
Open Panda video ↗light wooden computer desk
Goal reached · scripted controller
Open Panda video ↗light wooden computer desk
Goal reached · scripted controller
Open Panda video ↗light wooden computer desk
Goal reached · scripted controller
Open Panda video ↗light wooden computer desk
Goal reached · scripted controller
Open Panda video ↗light wooden computer desk
Goal reached · scripted controller
Open Panda video ↗light wooden computer desk
Goal reached · scripted controller
Open Panda video ↗black floral dining tabletop
Goal reached · scripted controller
Open Panda video ↗black floral dining tabletop
Goal reached · scripted controller
Open Panda video ↗black floral dining tabletop
Goal reached · scripted controller
Open Panda video ↗black floral dining tabletop
Goal reached · scripted controller
Open Panda video ↗wood-grain kitchen worktop
Goal reached · scripted controller
Open Panda video ↗wood-grain kitchen worktop
Goal reached · scripted controller
Open Panda video ↗wood-grain kitchen worktop
Goal reached · scripted controller
Open Panda video ↗turquoise patterned worktable
Goal reached · scripted controller
Open Panda video ↗turquoise patterned worktable
Goal reached · scripted controller
Open Panda video ↗turquoise patterned worktable
Goal reached · scripted controller
Open Panda video ↗turquoise patterned worktable
Goal reached · scripted controller
Open Panda video ↗turquoise patterned dining tabletop
Goal reached · scripted controller
Open Panda video ↗turquoise patterned dining tabletop
Goal reached · scripted controller
Open Panda video ↗turquoise patterned dining tabletop
Goal reached · scripted controller
Open Panda video ↗turquoise patterned dining tabletop
Goal reached · scripted controller
Open Panda video ↗black kitchen countertop
Goal reached · scripted controller
Open Panda video ↗black kitchen countertop
Goal reached · scripted controller
Open Panda video ↗black kitchen countertop
Goal reached · scripted controller
Open Panda video ↗black kitchen countertop
Goal reached · scripted controller
Open Panda video ↗turquoise worktable with plastic cover
Goal reached · scripted controller
Open Panda video ↗turquoise worktable with plastic cover
Goal reached · scripted controller
Open Panda video ↗turquoise worktable with plastic cover
Goal reached · scripted controller
Open Panda video ↗turquoise worktable with plastic cover
Goal reached · scripted controller
Open Panda video ↗mint lattice table
Goal reached · scripted controller
Open Panda video ↗turquoise patterned worktable
Goal reached · scripted controller
Open Panda video ↗turquoise patterned worktable
Goal reached · scripted controller
Open Panda video ↗turquoise patterned worktable
Goal reached · scripted controller
Open Panda video ↗turquoise patterned worktable
Goal reached · scripted controller
Open Panda video ↗turquoise patterned worktable
Goal reached · scripted controller
Open Panda video ↗turquoise patterned worktable
Goal reached · scripted controller
Open Panda video ↗turquoise patterned worktable
Goal reached · scripted controller
Open Panda video ↗turquoise patterned worktable
Goal reached · scripted controller
Open Panda video ↗dark speckled kitchen countertop
Goal reached · scripted controller
Open Panda video ↗dark speckled kitchen countertop
Goal reached · scripted controller
Open Panda video ↗dark speckled kitchen countertop
Goal reached · scripted controller
Open Panda video ↗dark speckled kitchen countertop
Goal reached · scripted controller
Open Panda video ↗grey speckled kitchen countertop
Goal reached · scripted controller
Open Panda video ↗grey speckled kitchen countertop
Goal reached · scripted controller
Open Panda video ↗grey speckled kitchen countertop
Goal reached · scripted controller
Open Panda video ↗grey speckled kitchen countertop
Goal reached · scripted controller
Open Panda video ↗Recorded simulations with scripted controllers. These videos do not demonstrate learned-policy performance or verified reconstruction of the human footage. Watch the original human POV recordings ↓
ROBOFISH / HUMAN POV
Watch the human footage used to develop Robofish gyms. Each recording preserves the original viewpoint, hands, objects, and motion.
Source footage: Eidon AI / tracker-pov, CC BY 4.0. These players show excerpts of the source recordings.
Each release is a Harbor package that runs the world, the tasks and the verifier under Docker, and — where a mirror is published — a Hugging Face release pinned to the exact commit the evidence pages cite. World sources live on GitHub where the repository is public.
harbor run -d blobfishai/webbenchAvailable now
Browser-only SaaS operations · Browser-only suite
Browser-only correlated SaaS work over deterministic populated worlds: 137 tasks across 3 families, every one graded executably against the backend of the applications the agent touched — WebScore, no LLM judge.
harbor run -d blobfishai/webbench13 professional-domain families · Hub of domain families
Thirteen oracle-proven professional-domain families inspired by the Harbor Hub inventory, with stateful worlds reachable as MCP servers, a REST API, a web console, and a terminal CLI. Source-specific adaptations are tracked separately.
harbor run -d blobfishai/hubbenchLitigation · Domain suite
100 long-horizon litigation tasks, 104–113 verified tool-calling steps each, graded by deterministic state diff — no LLM judge on the reward path.
harbor run -d blobfishai/litigationLegal operations · Domain suite
Can an agent finish a legal matter—not just answer a question?
harbor run -d blobfishai/counselbench-100Investment banking · Domain suite
100 deterministic long-horizon investment-banking tasks across ten synthetic deal worlds.
harbor run -d blobfishai/dealbench-100-suite@v1.0.0The Harbor registry's latest tag is v1.2.0; this card and the evidence page describe the v1.0.0 release.
Software operations · Domain suite
100 deterministic long-horizon DevOps/SRE tasks over one executable NovaCart world.
harbor run -d blobfishai/devopsbench-100Enterprise resource planning · Domain suite
100 deterministic long-horizon ERP workflows across ten synthetic Oracle-Fusion-shaped tenants.
harbor run -d blobfishai/erpbench-100-suiteManufacturing operations · Domain suite
100 employee-grade manufacturing decisions with hidden investigation graphs and executable ERP outcomes.
harbor run -d blobfishai/factorybench-100Financial operations · Domain suite
100 deterministic corporate-finance tasks over a shared ERP world with real SEC XBRL filings.
harbor run -d blobfishai/ledgerbench-100Sales operations · Domain suite
Can an agent run the revenue workflow—not just summarize the call?
harbor run -d blobfishai/salesbench-100Semiconductor operations · Domain suite
100 deterministic semiconductor exception workflows across ten synthetic fabs.
harbor run -d blobfishai/semikongbench-1006 companion worlds · Companion-world portfolio
24 stateful tasks across 6 Blobfish-authored companion worlds, each a SQLite-backed MCP world with typed read/write tools.
harbor run -d blobfishai/domainbench-24CRM operations · Source-inspired suite
Six source-locked CRM workflows. Four real interfaces. One isolated, stateful mock world per episode.
harbor run -d blobfishai/arc-crm-6@sha256:fc9ca3b80d6a1a3c3e5bd1b975c54f1f3ada21b49668cb5f25e2912d67b69dfa -a oracle -e docker -n 1 -k 1 -r 0Independently authored; inspired by a pinned upstream source with 0 source rows reproduced.
In preview
Site reliability · Incident root cause
Incident root-cause tasks cut from real recordings of a broken online shop. The agent gets a complaint and the shop's records and must say what broke and when.