Cloud baseline
z-ai/glm-5.3, single model via OpenRouter — 0.0292 on Forge 1.0
z-ai/glm-5.3 · scorer forge-1.0
- Overall
- 0.0292
- Excellent
- no
- Benchmark
- Forge 1.0
- Model build
- 17m 18s
Tier breakdown
Scoring detail
How this score was built
Per-check scorer output, as posted by the app. Expand a section to inspect its checks.
Earned credit before admission
(0.88 × 0.0922 core + 0.12 × 0.28 gate × 0.00 excellence) × 0.3600 critical = 0.0292
Critical defects compound a multiplier on the whole score (pre-severity 0.0812):
t_no_double_count: no additional penalty (vacuous:precondition: >= 1 ledger row); wrong numbers — a change counted twice.
r_backfill_complete: no additional penalty (root:l_bundles_load); data loss — changes silently missing.
b_no_permission_leak: no additional penalty (vacuous:precondition: >= 1 person-facing change list returned or rendered); data leak — hidden issues shown to a person.
b_comment_exactly_once: no additional penalty (vacuous:precondition: >= 1 comment POST); duplicate side effect on a customer's Jira.
u_widget_loads: no additional penalty (root:l_bundles_load); dead primary flow — no data on the dashboard.
The core (88% of the total) is the weighted mean of the nine measured tiers. The last 12% is the excellence slice: it unlocks in proportion to the perfection conditions below (5 of 18 met here), then pays out at the excellence tier's own measured mean. Core 0.0811 + excellence 0.0000.
Earned score 0.029 · Cap 0.499 · Final score 0.029
The final score is the lower of the earned score and the cap. Meeting a cap's conditions adds no points.
- deployable: maximum 0.499
l_deployablel_bundles_load - working ledger: maximum 0.699
u_widget_loadst_event_rowsr_backfill_completes_storage_scopes_entity_index_used - current platform, complete surfaces: maximum 0.799
k_widget_edit_bridgeu_widget_edit_configu_ledger_tablea_action_resultv_theme_tokensv_dark_mode - production robustness: maximum 0.799
t_no_double_countt_out_of_ordert_retry_after_honouredr_heal_droppedr_rate_limitr_paginationb_no_permission_leakb_comment_exactly_onceb_realtime_payload_cleanu_llm_explainu_widget_livev_csp_cleanv_console_cleanu_ledger_sorts_index_orderb_hidden_counta_action_permissionsl_scopesk_llm_model_current
Forge's own linter reports no errors (warnings cost points), every manifest function bundles and loads, packages resolve at the kit's pins, the manifest rules the linter misses, and only the scopes the app's calls need.
l deployable
0.00lint: 3 error(s), stage ModulesValidator/26: ["missing resource 'static/widget-view/build' is being referenced by 'widget-view' in resources", "missing resource 'static/widget-edit/build' is being referenced by 'widget-e
l bundles load
0.000/2 functions bundle, load and export their handler; failing: {'backend': 'src/handlers.js:110: Cannot assign to "written" because it is a constant', 'ui-resolver': 'src/handlers.js:110: Cannot assign to "written" becaus
l lint warnings
0.00vacuous — precondition unmet: >= 1 function loads
l real packages
1.002/2 bundles resolve @forge/* at the kit pins only
l manifest rules
0.674/6 manifest rules met: resource_has_index_html, referenced_functions_exist_and_export
l scopes
0.00vacuous — precondition unmet: >= 1 product or KVS call observed
Current modules and APIs: dashboards:widget with its edit API, the rovo:skill and rovo:mcp wiring, a Forge LLM model the platform lists as active, no /rest/api/3/search, no @forge/api storage, a nodejs22.x or nodejs24.x runtime, the consumer shape, the declared KVS entity, and deploy readiness: a manifest and permissions real Forge would accept and no code predicted to fail there.
k dashboard widget
1.00dashboards:widget 2/2: {'custom_ui_resource': True, 'edit_resource': True}
k widget edit bridge
0.00vacuous — precondition unmet: edit surface rendered
k rovo skill
1.00rovo:skill 7/7:
k current apis
0.00vacuous — precondition unmet: >= 1 product call observed
k consumer shape
1.00consumer shape 3/3
k entity declared
1.00entities with a sprint-partitioned, ranged index: ['sprint-scope-ledger']
k rovo mcp
1.00rovo:mcp 4/4:
k llm model current
0.00vacuous — precondition unmet: >= 1 LLM call
k manifest semantics
0.00vacuous — precondition unmet: >= 1 function and >= 1 product call observed
k runtime risks
0.00vacuous — precondition unmet: >= 1 function and >= 1 product call observed
Issue updates flow trigger to queue to consumer: one ledger row per change under duplicate, reordered and dropped deliveries, multi-sprint changelog values, re-estimates followed, Retry-After honoured, no user context in background work.
t trigger handoff
0.00vacuous — precondition unmet: a trigger exists and >= 1 push observed
t event rows
0.00event rows: 0/26 exact (precision 0.00, recall 0.00)
t no double count
0.00vacuous — precondition unmet: >= 1 ledger row
t out of order
0.00permuted deliveries: 0/10 rows exact, 0/3 sprints with oracle numbers
t multi sprint parse
0.000/16 multi-id Sprint changes recorded exactly
t reestimate followed
0.000/3 re-estimated sprints show the oracle numbers
t retry after honoured
0.00vacuous — precondition unmet: the consumer-path fault fired
t no user in async
0.00vacuous — precondition unmet: >= 1 background Jira call
The first scheduled run backfills every change since each active sprint started, removals included; later runs heal what the event stream missed, page through results in each endpoint's own style, wait out rate limits and finish inside the module timeout.
r backfill complete
0.000/58 historical changes recorded exactly after the first scheduled run
r removals found
0.000/9 removed-to-backlog changes found
r heal dropped
0.000/4 dropped changes healed exactly once; 0 other row(s) added
r pagination
0.00vacuous — precondition unmet: >= 1 read the site served in two or more pages
r rate limit
0.00vacuous — precondition unmet: the reconcile fault fired
r as app
0.00vacuous — precondition unmet: >= 1 scheduled-run Jira read
r completes in timeout
0.00vacuous — precondition unmet: a scheduled trigger made >= 1 Jira call
r idempotent rerun
0.00vacuous — precondition unmet: >= 1 ledger row
Forge KVS with the storage scope, ledger reads through the declared entity index in change-time order, no KVS limit errors.
s storage scope
0.00vacuous — precondition unmet: >= 1 KVS call
s entity index used
0.00vacuous — precondition unmet: >= 1 ledger read
s index order
0.00vacuous — precondition unmet: table rows rendered
s limits
0.00vacuous — precondition unmet: >= 1 KVS write
Every invoked resolver exists and answers structured errors, nobody sees changes to issues they cannot browse (not on screen, not in an LLM prompt, not in a Realtime payload), the hidden-change count is right, and each click posts exactly one ADF comment as the viewer.
b invoke contract
0.00vacuous — precondition unmet: >= 1 invoke observed
b no permission leak
0.00vacuous — precondition unmet: >= 1 person-facing change list returned or rendered
b hidden count
0.000/9 hidden counts equal the oracle
b comment adf as user
0.00vacuous — precondition unmet: >= 1 comment POST
b comment exactly once
0.00vacuous — precondition unmet: >= 1 comment POST
b realtime payload clean
0.00vacuous — precondition unmet: >= 1 realtime publish
The dashboard widget's numbers and chart, its board choice saved through the host, live updates through Forge Realtime, the sprint action's ledger table, sorting, issue links, comment flow, the Forge LLM explanation, close and not-started states.
u widget loads
0.000/4 configured widget views render a sprint with its numbers
u widget numbers
0.00widget numbers: 0.00/4 views exact (sprints by startDate, four §1 numbers each)
u widget chart
0.000/4 charts on one linear scale within 1px; ['no single svg[data-testid=chart]', 'no single svg[data-testid=chart]']
u widget edit config
0.00edit/config 0/6: no_config_needs_config_only, pick0_view_shows_board, pick0_reopen_pressed, pick1_view_shows_board, pick1_reopen_pressed, second_instance_own_board
u ledger table
0.00ledger tables: 0.00/3 exact (rows, cells, default order)
u ledger sort
0.00vacuous — precondition unmet: table rows rendered
u issue router
0.00vacuous — precondition unmet: table rows rendered
u comment flow
0.00required app surface absent: post-summary flow
u modal close
0.00vacuous — precondition unmet: modal rendered
u not started
0.00future sprint context: not-started not shown alone
u widget live
0.00vacuous — precondition unmet: widget rendered sprints
u llm explain
0.00vacuous — precondition unmet: explain control rendered
Atlassian design tokens with 4.5:1 contrast in light and dark, a painted surface, no Content Security Policy violations or console errors, and the widget readable at 380 px wide.
v theme tokens
0.00vacuous — precondition unmet: a surface rendered app content
v dark mode
0.00vacuous — precondition unmet: a surface rendered app content
v csp clean
0.00vacuous — precondition unmet: a surface rendered app content
v console clean
0.00vacuous — precondition unmet: a surface rendered app content
v widget sizes
0.00vacuous — precondition unmet: widget rendered sprints
The get-sprint-scope action returns exact numbers and the visible changes for the invoking person, returns errors instead of throwing, and the skill's SKILL.md tells the agent how to use it.
a action result
0.000/3 active sprints answered exactly
a action errors
0.000/2 bad sprintId inputs return {error} without throwing
a action permissions
0.000/6 per-person answers list exactly what that person may browse
a skill instructions
1.00SKILL.md body 5/5: result fields named ['sprintName', 'committed', 'added', 'removed', 'creepPercent', 'hiddenChanges', 'changes']
Few Jira requests in the backfill and per event, few round trips before each surface paints, and a scheduled run with nothing new writes nothing — paid only in proportion to the excellence gate.
e reconcile economy
0.00mean over 3 scoring sites: backfill incomplete — economy is not credited on unfinished work
e event economy
0.00mean over 3 scoring sites: event rows inexact — economy is not credited on unfinished work
e ui round trips
0.00mean over 3 scoring sites: no surface rendered app content
Graded browser recording
Loading duration…Watch the full graded browser recording at its original speed: the payment field, structure inspection, committed updates and replay. The check results and screenshots on this page provide the wider evidence. Pause or scrub to inspect a view.
Each tower represents a payment: height encodes its amount, cap color its status, and the collar its currency. The selected detailed tower is expected to animate its collar after a committed backend update or replay. These are the task requirements; the check results show what this app actually achieved.
Drag the timeline to seek. Keyboard: arrow keys move 5 seconds; Home and End jump to the start and end.
Recording integrity
SHA-256: 9fc32c776b0202c15abc0a69c51e71b1a7a3fe7f513e067684a78dd0421d1a59
Screenshots
Captured from the built application during browser grading. Captions identify the recorded views and checks; these images do not represent repair rounds.
Run details
- Model
- z-ai/glm-5.3
- Engine events
- 0
- Repair rounds
- 0
- Started
- Oct 4, 2026, 01:31 PM
- Finished
- Oct 4, 2026, 02:06 PM