Cloud baseline

Ripple 65B Preview, single model via OpenRouter

ricursiveai/ripple-65b-preview · scorer forge-2.0

ricursiveai/ripple-65b-preview · single agentNov 10, 2026
Overall
0.0770
Benchmark
Forge 2.0
Model build
129m 17s

Recorded inference cost

$1.73

From the saved OpenRouter generation billing summary (303 recorded requests). Whether auxiliary model calls were included was not retained. Scoring reuses the saved build; this amount describes the original inference spend.

Token usage

Tokens: at least 64.3M in · 183k out · 62.9M cached (lower bound, OpenRouter records)

64,446,906 tokens over 303 model calls: every call of the run, the model's own and the harness's helper calls, counted from OpenRouter records. These are a lower bound. Reasoning tokens as the provider reports them: 79,866 (not added to the total).

OpenRouter's records for ricursiveai/ripple-65b-preview differ from Elzi's session counters (+106,670 in, +3,507 out), so they are not exact.

  • ricursiveai/ripple-65b-preview

    In 64.3M · Out 183k · Cached 62.9M · Reasoning 79.9k · 302 calls

  • google/gemini-2.5-flash

    In 1.4k · Out 7 · Cached 0 · Reasoning 0 · 1 call

Tier breakdown

Each bar is the tier's mean, from 0 to 1 (for E, its mean × the excellence gate). The percentage is the tier's share of the score. Mean × share, added over all tiers, is the tests earned figure below.

L · Lint and bundles1.001.06%
K · Platform currency0.99291.32%
T · Event pipeline0.2232.11%
R · Reconcile0.3751.85%
S · Storage0.751.06%
B · Resolvers and permissions0.36111.58%
U · UI function0.36822.11%
V · Visual1.001.06%
A · Rovo0.501.06%
E · Excellence0.2441.8%
R1 · Migration0.0012%
R2 · Dosing0.7513%
R3 · Time limits0.33338%
R4 · Changing world0.0010%
R5 · Admin panel0.2010%
R6 · CI web trigger0.108%
R7 · Custom field0.005%
R8 · Forge LLM0.16674%
R9 · Boot budget0.77785%
R10 · Native JQL0.333310%

Scoring detail

How this score was built

Per-test scorer output, as posted by the app. Expand a section to inspect its tests.

Correctness combines the lowest score for each test across the scoring fixtures; economy measurements use their mean. The combined result can therefore be lower than every individual fixture’s final score. Critical defects reduce the weighted result, followed by the reliability multiplier, before any score cap applies.

The rules behind these numbers: Forge 2.0 requirements, weights and score caps.

The score, step by step

0.3080 tests earned × 1.0000 critical defects × 0.2500 reliability at the floor = 0.0770 final score

tests earned = 0.15 × 0.5130 v1 + 0.2311 v2 (out of 0.85)

v1 = 0.88 × 0.5497 tiers L–A + 0.12 × 0.7321 gate × 0.3333 excellence

Reliability: every tier in the breakdown above, except Excellence, is a group of tests. Each group of tests multiplies the score by 1 − 0.10 × the shortfall of its worst test: by 0.90 when that test fails completely, by 0.95 when it scores 0.5.

  • K Platform currency: worst test k_manifest_semantics, score 0.9286 × 0.9929
  • T Event pipeline: worst test t_event_rows, score 0 × 0.9000

    Already counted in this group: t_trigger_handoff, t_no_double_count, t_out_of_order, t_multi_sprint_parse, t_reestimate_followed, t_retry_after_honoured

  • R Reconcile: worst test r_backfill_complete, score 0 × 0.9000

    Already counted in this group: r_removals_found, r_heal_dropped, r_rate_limit, r_idempotent_rerun

  • S Storage: worst test s_index_order, score 0 × 0.9000
  • B Resolvers and permissions: worst test b_comment_adf_as_user, score 0 × 0.9000

    Already counted in this group: b_hidden_count, b_comment_exactly_once, b_realtime_payload_clean

  • U UI function: worst test u_ledger_table, score 0 × 0.9000

    Already counted in this group: u_widget_numbers, u_widget_edit_config, u_ledger_sort, u_issue_router, u_comment_flow, u_widget_live, u_llm_explain

  • A Rovo: worst test a_action_result, score 0 × 0.9000

    Already counted in this group: a_action_permissions

  • R1 Migration: worst test r1_v1_rows_migrated, score 0 × 0.9000

    Already counted in this group: r1_v1_rows_intact, r1_events_during_migration, r1_progress_visible

  • R2 Dosing: worst test r2_backfill_complete, score 0 × 0.9000
  • R3 Time limits: worst test r3_long_retry_after_deferred, score 0 × 0.9000

    Already counted in this group: r3_no_duplicate_rows

  • R4 Changing world: worst test r4_sprint_close_final, score 0 × 0.9000

    Already counted in this group: r4_move_new_board, r4_field_switch, r4_deleted_history, r4_permission_revoked

  • R5 Admin panel: worst test r5_admin_actions_apply, score 0 × 0.9000

    Already counted in this group: r5_panel_labels, r5_nonadmin_refused

  • R6 CI web trigger: worst test r6_unsigned_no_effect, score 0 × 0.9000

    Already counted in this group: r6_replay_once, r6_status_codes, r6_valid_applies, r6_secret_never_disclosed

  • R7 Custom field: worst test r7_values_fresh, score 0 × 0.9000

    Already counted in this group: r7_writes_accepted

  • R8 Forge LLM: worst test r8_tool_call_scope, score 0 × 0.9000

    Already counted in this group: r8_failure_handling, r8_cost_controls

  • R9 Boot budget: worst test r9_widget_boot, score 0.6667 × 0.9667

    Already counted in this group: r9_sprint_boot

  • R10 Native JQL: worst test r10_initial_membership, score 0 × 0.9000

    Already counted in this group: r10_precomputation_refresh, r10_shared_permissions, r10_empty_and_closed

At the floor: the groups multiply to less than 0.25, and together the groups never take the score below 0.25 of what the tests earned, so reliability stays at 0.25. A critical defect still multiplies on top.

v1 is this run's score on the tests carried over from Forge 1.0: 15% of the total. v2 is the requirements R1–R10, each at its share of the score: the other 85%. Critical defects multiply the whole score, and so does each group of tests, by 1 − 0.10 × the shortfall of its worst test.

Excellence gate 0.7321: the average of the 18 conditions below, each counted at the value shown. Green is met in full; red is not, and lowers the gate. The 3 excellence tests are paid in proportion to the gate; together they are 1.8% of the total.

t_event_rows 0.00r_heal_dropped 0.00u_widget_numbers 0.25u_ledger_table 0.00b_comment_adf_as_user 0.00k_consumer_shape 1.00k_current_apis 1.00k_dashboard_widget 1.00k_entity_declared 1.00k_llm_model_current 1.00k_manifest_semantics 0.9286k_rovo_mcp 1.00k_rovo_skill 1.00k_runtime_risks 1.00k_widget_edit_bridge 1.00v_console_clean 1.00v_csp_clean 1.00l_lint_warnings 1.00

Earned score 0.0770 · No cap applies · Final score 0.0770

Under a cap the final score is min(earned, cap − 0.05 × (1 − earned)): always below the cap, and closer to it the more the run earned. With no cap it is the earned score. Avoiding a cap adds no points.

Every v1 row moves to the new scope-ledger entity exactly once, with its change id and time, while events keep flowing and across invocation limits, within 2 virtual hours of the upgrade, with its progress in the admin panel; v1's entity stays intact.

r1 v1 rows migrated

0.00

h2: 0 of 59 v1 rows in scope-ledger with the source attributes recorded by the probe; missing 59 (e.g. ('1441258', '808'), ('1441280', '916'), ('1441287', '947') (+56))

r1 v1 rows intact

0.00

vacuous — precondition unmet: v1 source is intact but no v1 row reached scope-ledger

r1 events during migration

0.00

0 of 48 changes made while the migration ran are in scope-ledger at the end; missing e.g. ('1446697', '808'), ('1447114', '808'), ('1448478', '808') (+45)

r1 progress visible

0.00

0 of 6 panel reads show the migration right (total 59; complete after the h2 read); h1: None without `complete`, h2: None without `complete` (+4)

Graded browser recording

Loading duration…

Watch the full graded browser recording at its original speed: the dashboard widget, the sprint action, the not-started sprint and the Forge LLM cases, as the scorer drove them on the run's own seed, the first of the three scoring sites. The test results and screenshots on this page provide the wider evidence. Pause or scrub to inspect a view.

The UI Kit admin panel is not in the recording: it is graded from its component tree.

Ready to play0:00 / —:—
Open recording file

Drag the timeline to seek. Keyboard: arrow keys move 5 seconds; Home and End jump to the start and end.

Full graded browser recording: dashboard widget (before configuration, edit and Save, light and dark at 380 px, a second instance at 1180 px), sprint action (light and dark, sort, issue link, select, comment post, double click, forbidden post, explain, close), the not-started sprint and the Forge LLM cases, where the app has each. The UI Kit admin panel is not in the recording.

Screenshots

Pictures from one of the three scoring sites, the one on the run's own seed. The dashboard widget and the sprint action are captured from the built app in a browser during grading. The admin panel picture is drawn by the benchmark from the app's component tree, not by Jira, and nothing is graded from that picture. A test keeps the score of its worst site (the excellence measurements keep their mean), so a test can fail on a site these pictures do not show. A detail that opens "worst of …" names the seed of the site the test scored worst on, which can be the pictured one.

1Dashboard widget · light
2Dashboard widget · dark
3Sprint action · light
4Sprint action · dark
5Admin panel (UI Kit) · light: drawn by the benchmark from the app's component tree, not by Jira.

Run details

Model
ricursiveai/ripple-65b-preview
Engine events
0
Repair rounds
0
Started
Nov 9, 2026, 11:30 PM
Finished
Nov 10, 2026, 01:54 AM
Call budget
With wrap-up nudge, version 2: as the call budget ran low, the agent harness told the model to start no new work and finish

How the benchmark is scored