@ikon85/agent-workflow-kit 0.43.0 → 0.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/.agents/skills/grill-me/SKILL.md +3 -1
  2. package/.agents/skills/grill-with-docs/SKILL.md +3 -1
  3. package/.agents/skills/kit-update/SKILL.md +9 -11
  4. package/.agents/skills/orchestrate-wave/SKILL.md +8 -8
  5. package/.agents/skills/setup-workflow/SKILL.md +20 -18
  6. package/.agents/skills/setup-workflow/board-sync.md +4 -1
  7. package/.agents/skills/setup-workflow/workflow-advisories.md +3 -2
  8. package/.agents/skills/setup-workflow/worktree-lifecycle.md +36 -31
  9. package/.agents/skills/to-issues/SKILL.md +43 -0
  10. package/.agents/skills/wrapup/SKILL.md +98 -54
  11. package/.claude/skills/grill-me/SKILL.md +3 -1
  12. package/.claude/skills/grill-me-codex/SKILL.md +3 -1
  13. package/.claude/skills/grill-with-docs/SKILL.md +3 -1
  14. package/.claude/skills/grill-with-docs-codex/SKILL.md +3 -1
  15. package/.claude/skills/kit-update/SKILL.md +9 -11
  16. package/.claude/skills/orchestrate-wave/SKILL.md +8 -8
  17. package/.claude/skills/setup-workflow/SKILL.md +20 -18
  18. package/.claude/skills/setup-workflow/board-sync.md +4 -1
  19. package/.claude/skills/setup-workflow/workflow-advisories.md +3 -2
  20. package/.claude/skills/setup-workflow/worktree-lifecycle.md +36 -31
  21. package/.claude/skills/to-issues/SKILL.md +43 -0
  22. package/.claude/skills/wrapup/SKILL.md +98 -54
  23. package/README.md +249 -7
  24. package/agent-workflow-kit.package.json +42 -42
  25. package/package.json +16 -12
  26. package/scripts/marker_lib.py +3 -0
  27. package/scripts/profile_globs.py +26 -45
  28. package/scripts/release-delta-guard.mjs +26 -9
  29. package/scripts/worktree-lifecycle/README.md +57 -160
  30. package/scripts/worktree-lifecycle/capabilities.json +2 -3
  31. package/scripts/worktree-lifecycle/classify.py +480 -0
  32. package/scripts/worktree-lifecycle/cleanup.py +9 -29
  33. package/scripts/worktree-lifecycle/core.py +68 -1429
  34. package/scripts/worktree-lifecycle/ignore_seed.py +1 -1
  35. package/scripts/worktree-lifecycle/profile.py +46 -29
  36. package/scripts/worktree-lifecycle/setup.py +7 -19
  37. package/scripts/wrapup-land.py +1292 -545
  38. package/src/consumer-migrations.json +1 -16
  39. package/src/lib/bundle.mjs +31 -1
  40. package/docs/adr/0001-consumer-divergence-policy.md +0 -53
  41. package/docs/adr/0002-capability-gated-orchestration.md +0 -70
  42. package/docs/adr/0003-kit-core-and-project-extension-lifecycle.md +0 -63
  43. package/docs/adr/0004-release-intent-is-a-version-tag.md +0 -64
  44. package/docs/adr/0005-to-issues-is-the-planning-facade.md +0 -42
  45. package/docs/adr/0006-routing-knowledge-access-and-policy-are-separate.md +0 -95
  46. package/docs/adr/0007-session-teardown-requires-provenance-bound-ownership.md +0 -88
  47. package/docs/adr/0008-planning-ignore-rules-are-offered-never-installed.md +0 -84
  48. package/docs/adr/0009-teardown-authority-is-stateless-repository-classification.md +0 -101
  49. package/docs/adr/0010-model-roster-replaces-the-optimization-dial.md +0 -87
  50. package/docs/agents/board-sync.md +0 -74
  51. package/docs/agents/code-review.md +0 -14
  52. package/docs/agents/workflow-capabilities.json +0 -28
  53. package/docs/research/agent-task-taxonomy-benchmark-coverage.md +0 -451
  54. package/docs/research/benchlm-routing-source.md +0 -198
  55. package/docs/research/consumer-owned-protocol-files.md +0 -238
  56. package/docs/research/frontend-agent-benchmarks.md +0 -282
  57. package/docs/research/model-effort-routing-benchmarks.md +0 -261
  58. package/docs/research/provider-neutral-agent-routing.md +0 -207
  59. package/docs/research/wave-152-consumer-acceptance.md +0 -98
  60. package/docs/research/wave-43-script-hook-census.md +0 -128
  61. package/scripts/build-kit.mjs +0 -117
  62. package/scripts/build-kit.test.mjs +0 -207
  63. package/scripts/census/census.test.mjs +0 -252
  64. package/scripts/census/state.test.mjs +0 -15
  65. package/scripts/census/transaction.test.mjs +0 -103
  66. package/scripts/census-contract.test.mjs +0 -227
  67. package/scripts/check-kit-staleness.mjs +0 -45
  68. package/scripts/check-kit-staleness.test.mjs +0 -19
  69. package/scripts/codex-exec-scenarios/fake-codex.mjs +0 -165
  70. package/scripts/codex-exec.test.mjs +0 -871
  71. package/scripts/grill-census-wiring-guard.mjs +0 -87
  72. package/scripts/grill-census-wiring-guard.test.mjs +0 -107
  73. package/scripts/kit-release.test.mjs +0 -273
  74. package/scripts/kit-update-pr.test.mjs +0 -151
  75. package/scripts/lib/audit-refs.mjs +0 -146
  76. package/scripts/lib/scrub.mjs +0 -113
  77. package/scripts/lib/scrub.test.mjs +0 -187
  78. package/scripts/memory-lifecycle/memory-lifecycle.test.mjs +0 -170
  79. package/scripts/portability_profile_scan.py +0 -53
  80. package/scripts/release-delta-guard.test.mjs +0 -174
  81. package/scripts/release-parity.test.mjs +0 -90
  82. package/scripts/release-state.test.mjs +0 -360
  83. package/scripts/test_anchor_table.py +0 -69
  84. package/scripts/test_board_bootstrap.py +0 -348
  85. package/scripts/test_board_sync.py +0 -208
  86. package/scripts/test_board_sync_create_idempotency.py +0 -117
  87. package/scripts/test_board_sync_wave_title.py +0 -120
  88. package/scripts/test_census_backstop.py +0 -712
  89. package/scripts/test_census_forward_contract.py +0 -91
  90. package/scripts/test_census_update_contract.test.mjs +0 -454
  91. package/scripts/test_codex_adapter_sync_contract.py +0 -169
  92. package/scripts/test_dist_kit_smoke.py +0 -220
  93. package/scripts/test_drift_guard_diagnostics.py +0 -295
  94. package/scripts/test_issue_claim_contract.py +0 -169
  95. package/scripts/test_kit_docs_language_census.py +0 -178
  96. package/scripts/test_marker_lib.py +0 -162
  97. package/scripts/test_orchestrate_wave_contract.py +0 -381
  98. package/scripts/test_pr_body_check.py +0 -264
  99. package/scripts/test_profile_globs.py +0 -280
  100. package/scripts/test_program_planning_contract.py +0 -133
  101. package/scripts/test_release_authorization_contract.py +0 -101
  102. package/scripts/test_render_anchor.py +0 -267
  103. package/scripts/test_retro_wrapup_contract.py +0 -153
  104. package/scripts/test_skill_code_review_seed.py +0 -89
  105. package/scripts/test_skill_codex_exec_lifecycle.py +0 -123
  106. package/scripts/test_skill_frontmatter_lint.py +0 -234
  107. package/scripts/test_skill_gh_lint.py +0 -124
  108. package/scripts/test_skill_language_census.py +0 -254
  109. package/scripts/test_skill_optional_readiness.py +0 -171
  110. package/scripts/test_skill_portability_lint.py +0 -866
  111. package/scripts/test_skill_precommit_template.py +0 -30
  112. package/scripts/test_skill_publish_audit.py +0 -358
  113. package/scripts/test_skill_readiness_contract.py +0 -264
  114. package/scripts/test_skill_readiness_preflight.py +0 -180
  115. package/scripts/test_skill_required_readiness.py +0 -233
  116. package/scripts/test_skill_selfcontainment_lint.py +0 -255
  117. package/scripts/test_skill_setup_workflow_seeds.py +0 -691
  118. package/scripts/test_skill_stale_name_lint.py +0 -126
  119. package/scripts/test_skill_surface_refs.py +0 -300
  120. package/scripts/test_skill_trailing_artifact_lint.py +0 -71
  121. package/scripts/test_tdd_contract.py +0 -78
  122. package/scripts/test_worktree_ignore_seed.py +0 -320
  123. package/scripts/test_worktree_setup_base_guard.py +0 -140
  124. package/scripts/test_worktree_wrapup_contract.py +0 -1737
  125. package/scripts/test_wrapup_land.py +0 -428
  126. package/scripts/worktree-lifecycle/session.py +0 -1857
@@ -1,282 +0,0 @@
1
- # Frontend-agent benchmarks
2
-
3
- Research snapshot: 2026-07-22
4
-
5
- ## Verdict
6
-
7
- Credible frontend benchmarks now exist, but **there is no single trustworthy
8
- "frontend capability" score**. The field measures four materially different
9
- things:
10
-
11
- 1. visual generation and design preference;
12
- 2. functional browser behaviour and interaction;
13
- 3. implementation or repair inside an existing frontend repository;
14
- 4. design taste, accessibility, and responsive behaviour.
15
-
16
- The strongest evidence stack for routing today is:
17
-
18
- - **Code Arena WebDev** as the current live signal for greenfield frontend and
19
- human preference;
20
- - **Vision2Web** as the most promising controlled end-to-end benchmark once its
21
- current season has results;
22
- - **SWE-bench Multimodal**, optionally through the OpenHands Index, for repair
23
- in existing JavaScript/frontend repositories;
24
- - **DeepSWE** for model-effort curves, because the frontend sources generally
25
- do not isolate effort;
26
- - local, dated outcomes for a project's actual stack, design system,
27
- accessibility requirements, and definition of quality.
28
-
29
- The resolver must keep these evidence dimensions separate. Combining them is
30
- reasonable; pretending that one benchmark jointly proves model quality,
31
- effort, harness quality, frontend taste, and repository reliability is not.
32
-
33
- ## Evidence map
34
-
35
- | Source | What it actually measures | Evaluation | Current routing value | Main limitation |
36
- |---|---|---|---|---|
37
- | [Code Arena WebDev](https://arena.ai/leaderboard/code/webdev) | Prompt-to-app generation under an agentic web-development harness | Blinded pairwise user preference over rendered, interactive outputs | High for current greenfield frontend model/harness preference | Preference is not a pass rate; model and harness are coupled; little comparable effort data |
38
- | [Vision2Web](https://vision2web-bench.github.io/) | Static responsive pages, interactive multi-page frontends, and full-stack sites from prototypes and requirements | VLM visual judge plus workflow-driven GUI agent | Potentially highest controlled end-to-end value | The active season's leaderboard is still empty; older-season scores are not directly comparable |
39
- | [SWE-bench Multimodal](https://www.swebench.com/multimodal) | Real issue resolution in visual JavaScript repositories | Repository tests, including visual tests for a subset | High for existing-repository repair | Does not measure greenfield design taste; historical public GitHub tasks create exposure risk |
40
- | [OpenHands Index](https://www.openhands.dev/blog/openhands-index) | A verified SWE-bench Multimodal subset under one OpenHands SDK, with cost/runtime | Executable benchmark plus standardized harness | Useful model comparison for repair | OpenHands performance is not automatically Claude Code or Codex performance |
41
- | [WebGen-Bench](https://proceedings.neurips.cc/paper_files/paper/2025/hash/6841eed8bb6a2ec49e49235c8115efee-Abstract-Datasets_and_Benchmarks_Track.html) | Multi-file websites generated from requirements, including interaction | 647 manually refined cases executed by a web-navigation agent; separate appearance judge | Good methodological reference for functionality | Published model set is old; automated verifier is fallible |
42
- | [DesignBench](https://github.com/WebPAI/DesignBench) | Generation, edit, repair, and compile repair in React, Vue, Angular, and vanilla HTML/CSS | Render similarity, compilation/code checks, and an MLLM judge | Good diagnostic taxonomy and reproducible local eval | Static public dataset and older model coverage; small isolated projects rather than mature repositories |
43
- | [ArtifactsBench](https://github.com/Tencent-Hunyuan/ArtifactsBenchmark) | Interactive visual artifacts, including components, SVGs, and games | Temporal screenshots plus checklist-guided MLLM judge | Useful automated secondary signal | Judge bias/circularity; artifact generation rather than repository maintenance |
44
- | [UI-Bench](https://arxiv.org/abs/2508.20410) | Holistic visual craft of text-to-app products | 4,000+ blinded expert pairwise judgments | Strong evidence about tool/product output quality | Ranks whole tools, not base models; explicitly excludes accessibility, load time, and code quality |
45
- | [Design2Code](https://arxiv.org/abs/2403.03163) | Screenshot-to-HTML reproduction | Automatic visual metrics validated against human rankings | Useful for visual-fidelity diagnostics | Static, mostly single-page reproduction; no repository or interaction evidence |
46
-
47
- ## 1. The best current live signal: Code Arena WebDev
48
-
49
- Code Arena asks users to submit a web-development prompt, lets two anonymous
50
- models build deployable apps, and has users interact with both outputs before
51
- voting. The current implementation records the agent trajectory and aggregates
52
- pairwise preferences using a Bradley-Terry-style ranking. Voters are instructed
53
- to consider functionality, usability, fidelity, design, taste, and aesthetics
54
- ([methodology](https://arena.ai/blog/code-arena/),
55
- [original WebDev methodology](https://arena.ai/blog/webdev-arena/)).
56
-
57
- At this snapshot the official leaderboard reports 506,528 votes:
58
-
59
- | Configuration | Score | Status |
60
- |---|---:|---|
61
- | Kimi K3 | 1678 ± 17 | preliminary |
62
- | Claude Fable 5 | 1634 ± 12 | established |
63
- | GPT-5.6 Sol `xhigh`, Codex harness | 1630 ± 11 | established |
64
-
65
- Fable and Sol have overlapping intervals. Kimi's apparent lead is relevant but
66
- must remain marked preliminary. These are **model-plus-harness observations**,
67
- not intrinsic model constants: only the Sol label exposes a comparable effort
68
- setting, and it explicitly names the Codex harness.
69
-
70
- The source is stronger than a static visual benchmark because prompts are live,
71
- outputs are interactive, identities are hidden during voting, and the pool
72
- changes with deployed models. It is also weaker than executable pass/fail tests:
73
- a preference vote blends correctness and taste, evaluator expertise varies, the
74
- prompt population is self-selected, and leaderboard position changes with the
75
- opponent pool.
76
-
77
- The seven current domains are also important for routing: reference-based
78
- design, brand/marketing, data/analytics, consumer products, gaming,
79
- simulations, and content-creation/editing tools. They were derived from more
80
- than 250,000 filtered prompts, and domain leaderboards use the same evaluation
81
- method ([category methodology](https://arena.ai/blog/new-categories-code-arena/)).
82
- Therefore the routing source should ingest category scores rather than collapse
83
- everything into one `frontend` number.
84
-
85
- ## 2. The strongest prospective controlled benchmark: Vision2Web
86
-
87
- Vision2Web most closely matches the missing end-to-end contract. Its 193 tasks
88
- contain 918 prototype images and 1,255 test cases across 16 categories. It has
89
- three progressively harder levels:
90
-
91
- - static responsive webpages, evaluated separately on desktop, tablet, and
92
- mobile;
93
- - interactive multi-page frontend applications;
94
- - long-horizon full-stack websites.
95
-
96
- It evaluates visual similarity with a VLM judge and functional behaviour with a
97
- GUI-agent verifier. Submissions include the model **and** agent framework, which
98
- is the right unit of evidence for an agent-routing system
99
- ([project](https://vision2web-bench.github.io/),
100
- [paper](https://arxiv.org/abs/2603.26648),
101
- [submission/evaluation contract](https://huggingface.co/datasets/zai-org/Vision2Web-Leaderboard)).
102
-
103
- The leaderboard is seasonal: tasks and evaluators may change, old submissions
104
- are re-evaluated where possible, and scores from different seasons are
105
- explicitly not comparable. As of this snapshot, the **current season has no
106
- results**. Historical scores visible on the project page are useful for
107
- understanding the benchmark, but must not yet drive a current policy.
108
-
109
- This is the first source worth promoting to a primary routing adapter once the
110
- active season has enough submissions and reports judge versions, sample size,
111
- and confidence. Until then it should be represented as `candidate`, not as an
112
- empty score or inherited historical winner.
113
-
114
- ## 3. Existing-repository frontend work: SWE-bench Multimodal
115
-
116
- SWE-bench Multimodal contains 517 test instances from 12 mainly JavaScript
117
- repositories. Issues include screenshots of bugs, mockups, diagrams, and visual
118
- error context. The underlying collection contains web frameworks, UI component
119
- libraries, mapping, charting, diagramming, and syntax-highlighting projects.
120
- Success requires the repository's fail-to-pass and pass-to-pass tests to pass
121
- ([benchmark overview](https://www.swebench.com/multimodal),
122
- [ICLR paper](https://proceedings.iclr.cc/paper_files/paper/2025/file/07d6332ae36730707fddddba736d7b6c-Paper-Conference.pdf)).
123
-
124
- This makes it the best available answer to:
125
-
126
- > Can this agent-model-harness configuration understand a visual frontend issue,
127
- > navigate an established JavaScript repository, and land a test-passing fix?
128
-
129
- It does not answer whether the same configuration creates a tasteful new UI.
130
- Only 69 tasks use pixel-level visual testing; many other tasks are correctness
131
- or repository-navigation problems with visual context. The original baselines
132
- are stale, and the current official leaderboard still mixes different agents
133
- and models. Historical GitHub-derived tasks also remain exposed after release,
134
- so future leaderboard improvements require contamination caution.
135
-
136
- The OpenHands Index is useful as a normalized view: it runs a human-verified
137
- frontend subset through one OpenHands SDK and reports ability, cost, and runtime
138
- ([Index methodology](https://www.openhands.dev/blog/openhands-index)). It should
139
- be stored as a separate harness observation, not generalized to Claude Code or
140
- Codex.
141
-
142
- ## 4. Functional greenfield work: WebGen-Bench and newer diagnostics
143
-
144
- WebGen-Bench creates multi-file website codebases from 101 requirements and
145
- tests them with 647 operation/expected-outcome cases. Two PhD reviewers refined
146
- the cases. A WebVoyager-based agent executes them and returns `YES`, `NO`, or
147
- `PARTIAL`; reported agreement with manual testing ranged from 86.1% to 94.4%
148
- for the three evaluated model sets. Appearance was judged separately. In the
149
- published evaluation, Claude 3.5 Sonnet led appearance at 3.0/5 while
150
- DeepSeek-R1 led the general-model functional score at 27.8%
151
- ([paper and evaluator validation](https://proceedings.neurips.cc/paper_files/paper/2025/file/6841eed8bb6a2ec49e49235c8115efee-Paper-Datasets_and_Benchmarks_Track.pdf)).
152
-
153
- That separation between functional and visual results is valuable. The scores
154
- are not a present-day routing table: models and harnesses are old, only 101
155
- projects are used, and an agent judging another agent adds a measurable error
156
- layer.
157
-
158
- DesignBench is a good reusable taxonomy for isolated frontend work. Its 900
159
- samples span React, Vue, Angular, and vanilla HTML/CSS across initial generation,
160
- edits, repair of visual defects, and compilation repair. Defect categories
161
- include occlusion, crowding, overlap, alignment, color/contrast, and overflow.
162
- It also found very low adoption of framework-native component structures and
163
- low UI-issue detection accuracy in the tested 2024/2025-era models
164
- ([paper](https://arxiv.org/abs/2506.06251),
165
- [harness](https://github.com/WebPAI/DesignBench)). It is suitable for local
166
- diagnostic evaluation but not as a live winner feed.
167
-
168
- ArtifactsBench offers 1,825 component, visualization, and interactive-artifact
169
- tasks. It evaluates source plus three-step rendered screenshots against
170
- task-specific checklists with a multimodal judge and reports 94.4% ranking
171
- consistency with WebDev Arena. That makes it a useful automated corroborating
172
- source, but not a substitute for independent human judgment
173
- ([official repository](https://github.com/Tencent-Hunyuan/ArtifactsBenchmark)).
174
-
175
- FrontendBench is conceptually attractive: its paper describes 148 prompt/test
176
- pairs across five component-complexity levels, browser execution, generated
177
- test scripts, and roughly 90.5% expert agreement
178
- ([paper](https://arxiv.org/abs/2506.13832)). However, the paper's code/data
179
- release is still described as forthcoming. Until runnable artifacts and stable
180
- results exist, it is not practical as a source adapter.
181
-
182
- ## 5. Taste, accessibility, and responsiveness remain distinct gaps
183
-
184
- UI-Bench is the strongest controlled evidence for **taste**. It uses 30 prompts,
185
- 300 generated sites, more than 4,000 comparisons, and 194 invited professionals.
186
- Tool identities and left/right placement are hidden; the forced-choice question
187
- is which project the expert would be more likely to deliver to a client. Its
188
- authors deliberately avoid CLIP/FID-style automatic metrics as the primary
189
- endpoint because those proxies can mis-rank aesthetic preference
190
- ([paper and protocol](https://ar5iv.labs.arxiv.org/html/2508.20410)).
191
-
192
- But UI-Bench ranks complete text-to-app products, not base models. Templates,
193
- asset pipelines, orchestration, repair passes, and post-processing all affect
194
- the result. It also explicitly excludes accessibility, load time, and code
195
- quality, and evaluates desktop layouts. It cannot justify a model route by
196
- itself.
197
-
198
- There are smaller accessibility studies. One tested eleven component patterns
199
- from WCAG 2.1 across ChatGPT 4o, Copilot Pro, Claude 3.7 Sonnet, and Grok 3
200
- ([published study](https://doi.org/10.1007/s10209-025-01250-2)); another found
201
- 308 WCAG 2.2 and cognitive-accessibility errors across six generated sites
202
- ([ASSETS 2025 paper](https://doi.org/10.1145/3663547.3759755)). These establish
203
- that accessibility is not implied by visual quality. Their tiny task/model sets
204
- and stale versions make them diagnostics, not routing feeds.
205
-
206
- Vision2Web is the clearest emerging responsiveness measure because Level 1 has
207
- desktop, tablet, and mobile scores. With its current season empty, there is not
208
- yet a current model comparison that jointly and robustly measures
209
- responsiveness. DesignBench's overflow and contrast repairs are useful but do
210
- not amount to WCAG conformance or a viewport matrix.
211
-
212
- ## 6. Benchmarks that do not qualify as frontend-building evidence
213
-
214
- - WebArena, VisualWebArena, BrowserGym, WorkArena, and WebVoyager primarily test
215
- an agent **operating existing websites**. They are browser-use evidence, not
216
- evidence that the agent can implement those websites
217
- ([VisualWebArena](https://github.com/web-arena-x/visualwebarena),
218
- [BrowserGym](https://github.com/ServiceNow/BrowserGym)).
219
- - WebSight is a synthetic screenshot/HTML training dataset, not a comparative
220
- agent benchmark.
221
- - Design2Code is useful for screenshot fidelity but omits realistic
222
- interaction and repository integration.
223
- - Raw JavaScript/TypeScript subsets of general coding benchmarks do not become
224
- frontend benchmarks unless the tasks actually exercise rendering,
225
- interaction, or visual requirements.
226
-
227
- ## 7. Implications for a routing evidence catalog
228
-
229
- Every observation should preserve at least:
230
-
231
- ```yaml
232
- workload:
233
- lifecycle: greenfield | edit | repair
234
- frontend_domain: reference-design | marketing | analytics | product | game | simulation | editor
235
- repository_context: isolated | existing-repository
236
- quality_axis: visual-preference | visual-fidelity | functional | accessibility | responsive
237
-
238
- configuration:
239
- surface: codex | claude-code | openhands | other
240
- harness: concrete-version
241
- model: concrete-version
242
- effort: low | medium | high | xhigh | max | unknown
243
-
244
- evidence:
245
- source: code-arena | vision2web | swe-bench-multimodal | other
246
- benchmark_revision: concrete-revision-or-season
247
- observed_at: yyyy-mm-dd
248
- score: value
249
- uncertainty: value-or-unknown
250
- sample_size: value-or-unknown
251
- status: established | preliminary | candidate | stale
252
- ```
253
-
254
- Routing rules should then follow these constraints:
255
-
256
- 1. For greenfield frontend, prefer current Code Arena **domain-specific**
257
- evidence, tempered by local outcomes.
258
- 2. For existing-repository visual repair, prefer SWE-bench Multimodal or a
259
- normalized OpenHands view.
260
- 3. Promote Vision2Web when the active season has enough comparable submissions;
261
- never carry a previous-season winner forward silently.
262
- 4. Do not infer an effort curve from Code Arena. Combine its frontend evidence
263
- with a separate effort benchmark such as DeepSWE and mark the inference.
264
- 5. Treat model-plus-harness as the observed unit. A Claude model in OpenHands is
265
- not evidence for the same model in Claude Code without corroboration.
266
- 6. Accessibility and responsiveness require explicit constraints and local
267
- verification until broader current leaderboards exist.
268
- 7. Keep the maintainer's dated experience as legitimate local evidence. Public
269
- benchmarks calibrate it; they do not automatically overwrite it.
270
-
271
- ## Conclusion
272
-
273
- Frontend routing is no longer evidence-free. Code Arena already supports the
274
- claim that Kimi, Claude, and OpenAI configurations differ in real interactive
275
- frontend preference, and it currently places Kimi K3 first provisionally, with
276
- Fable 5 and Sol `xhigh` close behind. That result is not enough to derive a
277
- universal model-effort rule.
278
-
279
- The durable solution is a multi-source routing catalog: live human preference
280
- for greenfield work, controlled visual/functional evaluation when Vision2Web is
281
- populated, executable repository repair evidence, a separate effort curve, and
282
- local calibration for the exact product and design system.
@@ -1,261 +0,0 @@
1
- # Benchmark evidence for model and effort routing
2
-
3
- **Researched:** 2026-07-22
4
- **Question:** How should current benchmark evidence inform a provider-neutral,
5
- user-owned routing policy without turning today's model and effort winners into
6
- permanent Kit defaults?
7
-
8
- ## Conclusion
9
-
10
- The evidence supports a **mutable, workload-specific routing policy**, not a
11
- universal mapping such as `mechanical -> Luna/high`, `development ->
12
- Terra/max`, or `judgment -> Fable/high`.
13
-
14
- Three findings matter for the current design:
15
-
16
- 1. **Effort scaling is model-specific.** On DeepSWE, moving from `xhigh` to
17
- `max` adds about 9.4 pass-rate points for GPT-5.6 Terra and 10.3 points for
18
- Luna. For Claude Fable 5, `high`, `xhigh`, and `max` overlap within the
19
- reported uncertainty while average cost rises from $9.18 to $21.63 per
20
- trial.
21
- 2. **The best route depends on the workload and objective.** Sol leads the
22
- current Artificial Analysis coding-agent aggregate and DataCurve DeepSWE;
23
- Fable leads Sol on Artificial Analysis' repository-Q&A component and has
24
- separate strengths in knowledge work. Luna is exceptionally cost-efficient.
25
- Artificial Analysis' intelligence results place Luna and Sol, not Terra, on
26
- the cross-family cost/quality frontier.
27
- 3. **Benchmark rows are configurations, not timeless model facts.** Harness,
28
- effort, fallback behavior, benchmark version, provider pricing, retries, and
29
- access failures all affect the result. A model mapping inferred today can be
30
- stale when a new family, alias, effort level, or benchmark revision lands.
31
-
32
- The Kit should therefore own a routing schema, evidence format, resolver, and
33
- reconciliation workflow. The user or organization should own the current
34
- model/effort choices. Benchmarks can generate a dated recommendation, but may
35
- not silently rewrite that policy.
36
-
37
- ## Current evidence
38
-
39
- ### DataCurve DeepSWE v1.1
40
-
41
- DeepSWE contains 113 original, long-horizon software-engineering tasks across
42
- 91 repositories and five languages. The current leaderboard was updated on
43
- 2026-07-21. Every row below uses the same `mini-swe-agent` harness and four
44
- whole-benchmark runs; pass-rate uncertainty is DataCurve's reported 95%
45
- run-to-run interval. Costs are average API cost per completed trial
46
- ([leaderboard](https://deepswe.datacurve.ai/),
47
- [machine-readable leaderboard artifact](https://deepswe.datacurve.ai/artifacts/v1.1/leaderboard-live.json)).
48
-
49
- | Configuration | Pass@1 | 95% half-width | Avg cost/task | Attempts |
50
- |---|---:|---:|---:|---:|
51
- | GPT-5.6 Luna medium | 11.3% | ±0.8 | $0.22 | 452 |
52
- | GPT-5.6 Luna high | 44.2% | ±2.9 | $0.78 | 452 |
53
- | GPT-5.6 Luna xhigh | 56.9% | ±2.2 | $1.54 | 452 |
54
- | **GPT-5.6 Luna max** | **67.2%** | **±4.0** | **$3.03** | 448 |
55
- | GPT-5.6 Terra medium | 35.1% | ±3.4 | $0.58 | 450 |
56
- | GPT-5.6 Terra high | 53.8% | ±4.3 | $1.13 | 452 |
57
- | GPT-5.6 Terra xhigh | 60.2% | ±2.1 | $2.13 | 452 |
58
- | **GPT-5.6 Terra max** | **69.6%** | **±2.6** | **$4.95** | 451 |
59
- | GPT-5.6 Sol medium | 61.1% | ±1.6 | $1.86 | 452 |
60
- | **GPT-5.6 Sol high** | **69.4%** | **±1.4** | **$3.47** | 451 |
61
- | GPT-5.6 Sol xhigh | 70.7% | ±0.8 | $4.70 | 451 |
62
- | GPT-5.6 Sol max | 72.7% | ±2.8 | $8.39 | 450 |
63
- | Claude Fable 5 medium | 65.4% | ±4.4 | $6.09 | 436 |
64
- | **Claude Fable 5 high** | **68.6%** | **±1.1** | **$9.18** | 430 |
65
- | Claude Fable 5 xhigh | 69.9% | ±3.2 | $13.41 | 452 |
66
- | Claude Fable 5 max | 69.7% | ±4.0 | $21.63 | 436 |
67
-
68
- What this does and does not establish:
69
-
70
- - **Luna max is strongly efficient for this workload.** It reaches 67.2% for
71
- $3.03, statistically overlaps Terra max and Fable's higher-effort rows, and
72
- is cheaper than all of them.
73
- - **Terra max is a real within-family improvement.** It gains 9.4 points over
74
- Terra xhigh and 15.9 over high. On point estimates across families, however,
75
- Sol xhigh is both slightly cheaper and slightly higher-scoring, so Terra max
76
- is not a universal Pareto winner.
77
- - **Sol high is a defensible efficiency point.** Sol max adds 3.3 points to
78
- high for about 2.4 times the cost, and their confidence intervals overlap.
79
- Sol xhigh adds 1.3 points for about 1.36 times the cost. This supports the
80
- user's observation that `high` can be sufficient, but it does not prove the
81
- higher efforts never matter.
82
- - **Fable high is the clearest “high is sufficient” result here.** High,
83
- xhigh, and max are statistically overlapping; max has a slightly lower point
84
- estimate than xhigh while costing 2.36 times high. The result argues against
85
- defaulting Fable to max for implementation work.
86
-
87
- DeepSWE itself warns that adjacent frontier configurations often overlap in
88
- confidence intervals. Its v1.1 execution grades only committed patches in a
89
- fresh verifier container and removed dependency drift and flaky tests. It also
90
- reports that 73 of Fable's 2,260 trials did not complete after access was
91
- suspended during the sweep; Fable rates are calculated over completed trials
92
- ([v1.1 report](https://deepswe.datacurve.ai/blog/deepswe-v1-1)).
93
-
94
- The standardized harness is both a strength and a limitation. It isolates the
95
- model comparison, but gives every model one Bash tool and a shared prompt
96
- instead of Codex's or Claude Code's native editing tools and prompts. DataCurve
97
- explicitly says the leaderboard does not directly represent those native
98
- products, and the corpus under-represents bug localization and refactoring
99
- ([DeepSWE methodology and limitations](https://deepswe.datacurve.ai/blog/deepswe#limitations)).
100
-
101
- ### Artificial Analysis
102
-
103
- #### Current coding-agent comparison
104
-
105
- Artificial Analysis' current Coding Agent Index v1.3 combines DeepSWE,
106
- Terminal-Bench, and SWE-Atlas-QnA. The currently exposed Codex/Claude Code rows
107
- use `max` effort. They are **agent + model + settings** measurements, not the
108
- same mini-swe-agent experiment as DataCurve
109
- ([current comparison](https://artificialanalysis.ai/agents/coding-agents/comparisons/claude-code-vs-codex),
110
- [coding-agent methodology](https://artificialanalysis.ai/methodology/coding-agents-benchmarking)).
111
-
112
- | Agent configuration | Coding Agent Index | DeepSWE | Terminal-Bench | SWE-Atlas-QnA | Avg cost/task |
113
- |---|---:|---:|---:|---:|---:|
114
- | Codex + GPT-5.6 Sol max | 66.57 | 68.73% | 87.70% | 43.28% | $7.08 |
115
- | Codex + GPT-5.6 Terra max | 62.28 | 66.96% | 84.13% | 35.75% | $2.76 |
116
- | Codex + GPT-5.6 Luna max | 58.66 | 63.42% | 79.76% | 32.80% | $1.57 |
117
- | Claude Code + Fable 5 max | 65.85 | 66.08% | 82.54% | **48.92%** | $11.71 |
118
-
119
- Sol narrowly leads the aggregate and the implementation/terminal components;
120
- Fable leads repository Q&A. Luna gives up about 7.9 index points to Sol while
121
- costing about 78% less per task. That supports different routes for repository
122
- analysis, demanding implementation, and cost-sensitive execution rather than
123
- one global “best model.”
124
-
125
- Do not mix these figures with Artificial Analysis' July 9 launch chart without
126
- a version label. The launch chart used the prior scoring contract and reported
127
- 80/77/77/75 for Sol/Terra/Fable/Luna. Coding Agent Index v1.2 changed
128
- SWE-Atlas-QnA from rubric reward to binary all-criteria success and v1.3 refined
129
- the alignment, so the current values are not a performance regression measured
130
- on an unchanged scale
131
- ([launch analysis](https://artificialanalysis.ai/articles/gpt-5-6-has-landed),
132
- [versioned methodology](https://artificialanalysis.ai/methodology/coding-agents-benchmarking)).
133
-
134
- #### Intelligence-versus-cost by effort
135
-
136
- Artificial Analysis Intelligence Index v4.1 is a broader, English text-only
137
- composite: agents 34%, coding 24%, scientific reasoning 24%, and general
138
- capability 18%. Artificial Analysis estimates the composite's 95% confidence
139
- interval below ±1%, while warning that individual evaluations can be wider
140
- ([Intelligence Index methodology](https://artificialanalysis.ai/methodology/intelligence-benchmarking)).
141
-
142
- Current model pages expose the following scores and weighted API cost per
143
- Intelligence Index task:
144
-
145
- | Model | Medium | High | Xhigh | Max |
146
- |---|---:|---:|---:|---:|
147
- | GPT-5.6 Sol | 54 / $0.314 | 56 / $0.453 | 58 / $0.682 | 59 / $1.037 |
148
- | GPT-5.6 Terra | 46 / $0.175 | 49 / $0.336 | 52 / $0.477 | 55 / $0.825 |
149
- | GPT-5.6 Luna | 38 / $0.050 | 46 / $0.095 | 49 / $0.139 | 51 / $0.209 |
150
- | Claude Fable 5 | — | — | — | 60 / $2.750 |
151
-
152
- Sources: Artificial Analysis model pages for
153
- [Sol max](https://artificialanalysis.ai/models/gpt-5-6-sol),
154
- [Sol high](https://artificialanalysis.ai/models/gpt-5-6-sol-high),
155
- [Terra max](https://artificialanalysis.ai/models/gpt-5-6-terra),
156
- [Terra high](https://artificialanalysis.ai/models/gpt-5-6-terra-high),
157
- [Luna max](https://artificialanalysis.ai/models/gpt-5-6-luna),
158
- [Luna high](https://artificialanalysis.ai/models/gpt-5-6-luna-high), and
159
- [Fable max](https://artificialanalysis.ai/models/claude-fable-5).
160
-
161
- Artificial Analysis' own cross-effort analysis concludes that Luna and Sol are
162
- ahead of Terra at every point on this composite's intelligence-versus-cost
163
- chart: for any Terra effort, a Luna or Sol configuration is at least as capable
164
- for no more cost, or equally capable for less. Luna is the standout
165
- cost-efficient family
166
- ([GPT-5.6 intelligence-versus-cost analysis](https://artificialanalysis.ai/articles/gpt-5-6-intelligence-vs-cost-across-sol-terra-luna)).
167
-
168
- This result does **not** contradict Terra max's strong DeepSWE result. It shows
169
- why a single benchmark or a single global Pareto frontier cannot determine the
170
- route for every workload.
171
-
172
- ## Provider guidance and availability
173
-
174
- OpenAI describes Sol, Terra, and Luna as durable capability tiers that can
175
- advance independently. Codex users with access can select each tier and an
176
- effort level; `max` is available across the family. OpenAI prices Sol at
177
- $5/$30, Terra at $2.50/$15, and Luna at $1/$6 per million input/output tokens
178
- ([GPT-5.6 launch and availability](https://openai.com/index/gpt-5-6/)).
179
-
180
- Anthropic exposes `low`, `medium`, `high`, `xhigh`, and `max` where supported.
181
- It defines effort as a behavioral signal rather than a strict token budget and
182
- says the effect varies by workload. For Fable 5, Anthropic recommends starting
183
- at `high`, using `xhigh` only for the most capability-sensitive workloads, and
184
- lowering effort for routine work. Its general guidance is to use `max` only
185
- when the absolute highest capability justifies unconstrained token spending
186
- ([Anthropic effort guidance](https://platform.claude.com/docs/en/build-with-claude/effort#recommended-effort-levels-for-claude-fable-5)).
187
-
188
- The Artificial Analysis Fable results also require a provenance warning:
189
- Fable's evaluated configuration uses adaptive reasoning at max effort with an
190
- Opus 4.8 fallback. It is a routing-system result, not a pure Fable-only result
191
- ([Artificial Analysis Fable analysis](https://artificialanalysis.ai/articles/claude-fable-5-mythos)).
192
-
193
- ## Measurement caveats
194
-
195
- - **Costs are estimates for the measured API traffic.** They include reported
196
- input/output and supported cache prices, but exclude subscription economics,
197
- developer supervision, CI, failed deployments, and the cost of rerunning an
198
- incorrect patch. Provider or gateway pricing can differ.
199
- - **Retries differ by benchmark.** Artificial Analysis retries API failures up
200
- to 30 times and withholds persistently broken results; this is reliability
201
- handling, not multiple solution attempts. DeepSWE reports pass@1 over four
202
- repeated whole-benchmark runs and exposes incomplete attempts separately.
203
- - **Pass rate is not expected project value.** A cheaper row can be worse if a
204
- failure causes an expensive human recovery. Conversely, paying for max on a
205
- highly constrained mechanical task can waste tokens without reducing risk.
206
- - **Statistical overlap matters.** Point estimates such as Sol high versus max
207
- or Fable high versus max should not be treated as proven capability gaps when
208
- their intervals overlap.
209
- - **Harness and task mix matter.** DataCurve's model-neutral Bash harness and
210
- Artificial Analysis' native Codex/Claude Code rows answer different
211
- questions. Neither directly measures this Kit's planning, grilling,
212
- orchestration, review, or release workflows.
213
- - **Evidence expires.** Both leaderboards were updated during July 2026 and
214
- their benchmark contracts have already changed. A recommendation without a
215
- source date, benchmark version, and configuration identity is unsafe input
216
- to automation.
217
-
218
- ## Implication for the Kit routing policy
219
-
220
- The durable issue contract should continue to contain provider-neutral work
221
- intent. The mutable user or organization policy should be richer than a fixed
222
- `tier -> model + effort` lookup:
223
-
224
- ```yaml
225
- routing-intent: implementation
226
- objective:
227
- quality-floor: normal
228
- optimize: expected-cost
229
- risk:
230
- recovery-cost: medium
231
- ```
232
-
233
- At reconciliation time, a surface adapter can evaluate the user's allowed
234
- models against a dated evidence catalog and propose a concrete route. The
235
- catalog entry must identify at least:
236
-
237
- - provider, model or alias, and effort;
238
- - benchmark name and version;
239
- - workload tags and harness;
240
- - score, uncertainty, average cost, and observation date;
241
- - fallback behavior and important missing data.
242
-
243
- The policy lifecycle should be:
244
-
245
- 1. `setup-workflow` installs the schema and defaults to `inherit`; it may offer
246
- an explicit user-local policy setup.
247
- 2. Kit releases update schemas, adapters, and an optional evidence snapshot,
248
- but never overwrite personal mappings.
249
- 3. A separate `routing-policy reconcile` compares current choices with
250
- available models and dated evidence, shows the relevant Pareto candidates,
251
- and asks before changing the user-global policy.
252
- 4. The resolver records the effective model and effort plus the policy/evidence
253
- revision in run evidence.
254
- 5. Local outcome telemetry and explicit user judgment may override public
255
- benchmark recommendations. Public data supplies a prior; the user's real
256
- workflow is the calibration set.
257
-
258
- This permits a current personal preference such as Fable high for planning,
259
- Sol or Terra for implementation, and Luna for cheap mechanical work without
260
- claiming that those mappings are correct for every consumer—or even for the
261
- same user after the next model or benchmark release.