@draig/lexis-two 1.0.2 → 1.0.4
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.
- package/package.json +7 -1
- package/.agents/plugins/marketplace.json +0 -21
- package/.claude-plugin/marketplace.json +0 -29
- package/.claude-plugin/plugin.json +0 -9
- package/.clinerules/lexis-two.md +0 -163
- package/.codex-plugin/plugin.json +0 -31
- package/.cursor/rules/lexis-two.mdc +0 -169
- package/.env.example +0 -8
- package/.github/FUNDING.yml +0 -1
- package/.github/copilot-instructions.md +0 -47
- package/.github/plugin/marketplace.json +0 -20
- package/.github/plugin/plugin.json +0 -16
- package/.github/workflows/deploy-site.yml +0 -53
- package/.github/workflows/test.yml +0 -29
- package/.kiro/steering/lexis-two.md +0 -167
- package/.nojekyll +0 -0
- package/.windsurf/rules/lexis-two.md +0 -163
- package/AGENTS.md +0 -163
- package/AUDIT.md +0 -74
- package/CNAME +0 -1
- package/SPECXIS.md +0 -576
- package/assets/benchmark-3model.svg +0 -21
- package/assets/lexis-two-complete.webp +0 -0
- package/assets/lexis-two-nobg.png +0 -0
- package/assets/logo.png +0 -0
- package/assets/social-preview.png +0 -0
- package/benchmarks/README.md +0 -114
- package/benchmarks/arms/baseline.js +0 -2
- package/benchmarks/arms/caveman-SKILL.md +0 -67
- package/benchmarks/arms/caveman.js +0 -8
- package/benchmarks/arms/lexis-two.js +0 -10
- package/benchmarks/arms/ponytail.js +0 -6
- package/benchmarks/behavior.js +0 -58
- package/benchmarks/behavior.yaml +0 -40
- package/benchmarks/benchmark-local.py +0 -156
- package/benchmarks/benchmark-opencode-go.js +0 -294
- package/benchmarks/correctness.js +0 -294
- package/benchmarks/lib/aggregate-opencode-go.js +0 -103
- package/benchmarks/lib/load-env.js +0 -31
- package/benchmarks/lib/opencode-go-client.js +0 -151
- package/benchmarks/loc.js +0 -13
- package/benchmarks/opencode-go-models.json +0 -31
- package/benchmarks/promptfooconfig.yaml +0 -41
- package/benchmarks/prompts.json +0 -15
- package/benchmarks/render-opencode-go-report.js +0 -28
- package/benchmarks/results/2026-06-15-llama3.2-local.md +0 -76
- package/benchmarks/results/2026-06-16-opencode-go.md +0 -56
- package/benchmarks/results/opencode-go-2026-06-16-report.html +0 -226
- package/benchmarks/results/opencode-go-2026-06-16.json +0 -1339
- package/commands/lexis-two-audit.toml +0 -3
- package/commands/lexis-two-debt.toml +0 -3
- package/commands/lexis-two-help.toml +0 -3
- package/commands/lexis-two-plan.toml +0 -3
- package/commands/lexis-two-review.toml +0 -3
- package/commands/lexis-two-security.toml +0 -3
- package/commands/lexis-two.toml +0 -3
- package/docs/assets/lexis-two-nobg.png +0 -0
- package/docs/assets/logo.png +0 -0
- package/docs/assets/logo.svg +0 -4
- package/docs/portability.md +0 -147
- package/docs/site.md +0 -52
- package/examples/api-endpoint.md +0 -68
- package/examples/caching.md +0 -74
- package/examples/date-picker.md +0 -48
- package/examples/email-validation.md +0 -51
- package/examples/sorting.md +0 -42
- package/gemini-extension.json +0 -7
- package/opencode.json +0 -4
- package/pi-extension/index.js +0 -161
- package/pi-extension/package.json +0 -8
- package/pi-extension/test/extension.test.js +0 -89
- package/pi-extension/test/helpers.test.js +0 -35
- package/scripts/check-rule-copies.js +0 -82
- package/site/astro.config.mjs +0 -18
- package/site/package-lock.json +0 -4913
- package/site/package.json +0 -14
- package/site/public/CNAME +0 -1
- package/site/public/assets/lexis-two-nobg.png +0 -0
- package/site/public/assets/logo.png +0 -0
- package/site/public/assets/logo.svg +0 -4
- package/site/public/robots.txt +0 -4
- package/site/src/components/Adapt.astro +0 -33
- package/site/src/components/Benchmarks.astro +0 -232
- package/site/src/components/Commands.astro +0 -33
- package/site/src/components/Ecosystem.astro +0 -30
- package/site/src/components/Example.astro +0 -77
- package/site/src/components/Footer.astro +0 -28
- package/site/src/components/Header.astro +0 -87
- package/site/src/components/Hero.astro +0 -58
- package/site/src/components/Home.astro +0 -46
- package/site/src/components/Hosts.astro +0 -62
- package/site/src/components/Install.astro +0 -139
- package/site/src/components/LanguageSwitcher.astro +0 -82
- package/site/src/components/Philosophy.astro +0 -23
- package/site/src/components/Stacks.astro +0 -33
- package/site/src/components/Suggested.astro +0 -39
- package/site/src/data/opencode-go-benchmark.json +0 -230
- package/site/src/i18n/en.ts +0 -155
- package/site/src/i18n/es.ts +0 -158
- package/site/src/i18n/index.ts +0 -14
- package/site/src/layouts/Layout.astro +0 -114
- package/site/src/pages/benchmarks.astro +0 -4
- package/site/src/pages/es/benchmarks.astro +0 -4
- package/site/src/pages/es/index.astro +0 -10
- package/site/src/pages/index.astro +0 -10
- package/site/src/styles/global.css +0 -780
- package/site/tsconfig.json +0 -3
- package/tests/behavior.test.js +0 -80
- package/tests/commands.test.js +0 -40
- package/tests/copilot-plugin.test.js +0 -33
- package/tests/correctness.test.js +0 -191
- package/tests/gemini-extension.test.js +0 -78
- package/tests/hooks-windows.test.js +0 -48
- package/tests/hooks.test.js +0 -177
- package/tests/opencode-plugin.test.js +0 -64
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
interface Props {
|
|
3
|
-
hosts: {
|
|
4
|
-
title: string;
|
|
5
|
-
subtitle: string;
|
|
6
|
-
headHost: string;
|
|
7
|
-
headLevel: string;
|
|
8
|
-
headEntry: string;
|
|
9
|
-
rows: readonly {
|
|
10
|
-
host: string;
|
|
11
|
-
level: string;
|
|
12
|
-
entry: string;
|
|
13
|
-
}[];
|
|
14
|
-
levelFull: string;
|
|
15
|
-
levelSoon: string;
|
|
16
|
-
levelRules: string;
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
const { hosts } = Astro.props;
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
<section id="hosts">
|
|
24
|
-
<div class="wrap">
|
|
25
|
-
<div class="section-head">
|
|
26
|
-
<h2>{hosts.title}</h2>
|
|
27
|
-
<p set:html={hosts.subtitle} />
|
|
28
|
-
</div>
|
|
29
|
-
<div class="table-wrap">
|
|
30
|
-
<table>
|
|
31
|
-
<thead>
|
|
32
|
-
<tr>
|
|
33
|
-
<th scope="col">{hosts.headHost}</th>
|
|
34
|
-
<th scope="col">{hosts.headLevel}</th>
|
|
35
|
-
<th scope="col">{hosts.headEntry}</th>
|
|
36
|
-
</tr>
|
|
37
|
-
</thead>
|
|
38
|
-
<tbody>
|
|
39
|
-
{
|
|
40
|
-
hosts.rows.map((row) => (
|
|
41
|
-
<tr>
|
|
42
|
-
<td>{row.host}</td>
|
|
43
|
-
<td>
|
|
44
|
-
<span class:list={["pill", row.level]}>
|
|
45
|
-
{row.level === "full"
|
|
46
|
-
? hosts.levelFull
|
|
47
|
-
: row.level === "soon"
|
|
48
|
-
? hosts.levelSoon
|
|
49
|
-
: hosts.levelRules}
|
|
50
|
-
</span>
|
|
51
|
-
</td>
|
|
52
|
-
<td>
|
|
53
|
-
<code>{row.entry}</code>
|
|
54
|
-
</td>
|
|
55
|
-
</tr>
|
|
56
|
-
))
|
|
57
|
-
}
|
|
58
|
-
</tbody>
|
|
59
|
-
</table>
|
|
60
|
-
</div>
|
|
61
|
-
</div>
|
|
62
|
-
</section>
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
interface Props {
|
|
3
|
-
install: {
|
|
4
|
-
title: string;
|
|
5
|
-
subtitle: string;
|
|
6
|
-
tabOpencode: string;
|
|
7
|
-
tabCursor: string;
|
|
8
|
-
tabClone: string;
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
const { install } = Astro.props;
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
<section id="install">
|
|
16
|
-
<div class="wrap">
|
|
17
|
-
<div class="section-head">
|
|
18
|
-
<h2>{install.title}</h2>
|
|
19
|
-
<p>{install.subtitle}</p>
|
|
20
|
-
</div>
|
|
21
|
-
<div class="install-tabs" role="tablist" aria-label="Install instructions">
|
|
22
|
-
<button
|
|
23
|
-
type="button"
|
|
24
|
-
class="tab-btn"
|
|
25
|
-
role="tab"
|
|
26
|
-
aria-selected="true"
|
|
27
|
-
aria-controls="tab-opencode-npm"
|
|
28
|
-
id="tab-btn-opencode-npm"
|
|
29
|
-
>
|
|
30
|
-
OpenCode (npm)
|
|
31
|
-
</button>
|
|
32
|
-
<button
|
|
33
|
-
type="button"
|
|
34
|
-
class="tab-btn"
|
|
35
|
-
role="tab"
|
|
36
|
-
aria-selected="false"
|
|
37
|
-
aria-controls="tab-opencode"
|
|
38
|
-
id="tab-btn-opencode"
|
|
39
|
-
>
|
|
40
|
-
OpenCode (Local)
|
|
41
|
-
</button>
|
|
42
|
-
<button
|
|
43
|
-
type="button"
|
|
44
|
-
class="tab-btn"
|
|
45
|
-
role="tab"
|
|
46
|
-
aria-selected="false"
|
|
47
|
-
aria-controls="tab-cursor"
|
|
48
|
-
id="tab-btn-cursor"
|
|
49
|
-
>
|
|
50
|
-
{install.tabCursor}
|
|
51
|
-
</button>
|
|
52
|
-
<button
|
|
53
|
-
type="button"
|
|
54
|
-
class="tab-btn"
|
|
55
|
-
role="tab"
|
|
56
|
-
aria-selected="false"
|
|
57
|
-
aria-controls="tab-clone"
|
|
58
|
-
id="tab-btn-clone"
|
|
59
|
-
>
|
|
60
|
-
{install.tabClone}
|
|
61
|
-
</button>
|
|
62
|
-
</div>
|
|
63
|
-
<div
|
|
64
|
-
id="tab-opencode-npm"
|
|
65
|
-
class="tab-panel active"
|
|
66
|
-
role="tabpanel"
|
|
67
|
-
aria-labelledby="tab-btn-opencode-npm"
|
|
68
|
-
>
|
|
69
|
-
<pre><code set:html={`# Add to your opencode.json
|
|
70
|
-
{
|
|
71
|
-
"plugin": ["@draig/lexis-two"]
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
# Optional: Copy slash commands globally to use them anywhere
|
|
75
|
-
mkdir -p ~/.config/opencode/commands
|
|
76
|
-
cp -r .opencode/command/lexis-two*.md ~/.config/opencode/commands/`} /></pre>
|
|
77
|
-
</div>
|
|
78
|
-
<div
|
|
79
|
-
id="tab-opencode"
|
|
80
|
-
class="tab-panel"
|
|
81
|
-
role="tabpanel"
|
|
82
|
-
aria-labelledby="tab-btn-opencode"
|
|
83
|
-
hidden
|
|
84
|
-
>
|
|
85
|
-
<pre><code set:html={`git clone https://github.com/nitdraig/lexis-two.git ~/lexis-two
|
|
86
|
-
|
|
87
|
-
# opencode.json
|
|
88
|
-
{
|
|
89
|
-
"plugin": ["~/lexis-two/.opencode/plugins/lexis-two.mjs"],
|
|
90
|
-
"instructions": ["~/lexis-two/AGENTS.md"]
|
|
91
|
-
}`} /></pre>
|
|
92
|
-
</div>
|
|
93
|
-
<div
|
|
94
|
-
id="tab-cursor"
|
|
95
|
-
class="tab-panel"
|
|
96
|
-
role="tabpanel"
|
|
97
|
-
aria-labelledby="tab-btn-cursor"
|
|
98
|
-
hidden
|
|
99
|
-
>
|
|
100
|
-
<pre><code>git clone https://github.com/nitdraig/lexis-two.git ~/lexis-two
|
|
101
|
-
cp ~/lexis-two/.cursor/rules/lexis-two.mdc .cursor/rules/lexis-two.mdc
|
|
102
|
-
|
|
103
|
-
# Or globally:
|
|
104
|
-
cp ~/lexis-two/.cursor/rules/lexis-two.mdc ~/.cursor/rules/lexis-two.mdc</code></pre>
|
|
105
|
-
</div>
|
|
106
|
-
<div
|
|
107
|
-
id="tab-clone"
|
|
108
|
-
class="tab-panel"
|
|
109
|
-
role="tabpanel"
|
|
110
|
-
aria-labelledby="tab-btn-clone"
|
|
111
|
-
hidden
|
|
112
|
-
>
|
|
113
|
-
<pre><code set:html={`git clone https://github.com/nitdraig/lexis-two.git ~/lexis-two
|
|
114
|
-
|
|
115
|
-
# More hosts: docs/portability.md in the repo
|
|
116
|
-
# Default mode: LEXIS_TWO_DEFAULT_MODE=full
|
|
117
|
-
# Or ~/.config/lexis-two/config.json → { "defaultMode": "full" }`} /></pre>
|
|
118
|
-
</div>
|
|
119
|
-
</div>
|
|
120
|
-
</section>
|
|
121
|
-
|
|
122
|
-
<script>
|
|
123
|
-
document.querySelectorAll(".tab-btn").forEach(function (btn) {
|
|
124
|
-
btn.addEventListener("click", function () {
|
|
125
|
-
var target = btn.getAttribute("aria-controls");
|
|
126
|
-
document.querySelectorAll(".tab-btn").forEach(function (b) {
|
|
127
|
-
b.setAttribute("aria-selected", "false");
|
|
128
|
-
});
|
|
129
|
-
document.querySelectorAll(".tab-panel").forEach(function (p) {
|
|
130
|
-
p.classList.remove("active");
|
|
131
|
-
p.hidden = true;
|
|
132
|
-
});
|
|
133
|
-
btn.setAttribute("aria-selected", "true");
|
|
134
|
-
var panel = document.getElementById(target!);
|
|
135
|
-
panel!.classList.add("active");
|
|
136
|
-
panel!.hidden = false;
|
|
137
|
-
});
|
|
138
|
-
});
|
|
139
|
-
</script>
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
import type { Locale } from "../i18n/index.js";
|
|
3
|
-
|
|
4
|
-
interface Props {
|
|
5
|
-
locale: Locale;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
const { locale } = Astro.props;
|
|
9
|
-
const otherLocale: Locale = locale === "en" ? "es" : "en";
|
|
10
|
-
const otherLabel = locale === "en" ? "ES" : "EN";
|
|
11
|
-
|
|
12
|
-
const currentPath = Astro.url.pathname;
|
|
13
|
-
let targetPath: string;
|
|
14
|
-
if (locale === "en") {
|
|
15
|
-
targetPath = `/es${currentPath}`;
|
|
16
|
-
} else {
|
|
17
|
-
targetPath = currentPath.replace(/^\/es/, "") || "/";
|
|
18
|
-
}
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
<a
|
|
22
|
-
href={targetPath}
|
|
23
|
-
class="lang-switch"
|
|
24
|
-
aria-label={locale === "en" ? "Cambiar a espanol" : "Switch to English"}
|
|
25
|
-
title={locale === "en" ? "Espanol" : "English"}
|
|
26
|
-
>
|
|
27
|
-
<svg
|
|
28
|
-
width="16"
|
|
29
|
-
height="16"
|
|
30
|
-
viewBox="0 0 24 24"
|
|
31
|
-
fill="none"
|
|
32
|
-
stroke="currentColor"
|
|
33
|
-
stroke-width="2"
|
|
34
|
-
stroke-linecap="round"
|
|
35
|
-
stroke-linejoin="round"
|
|
36
|
-
aria-hidden="true"
|
|
37
|
-
>
|
|
38
|
-
<circle cx="12" cy="12" r="10" />
|
|
39
|
-
<path d="M2 12h20" />
|
|
40
|
-
<path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z" />
|
|
41
|
-
</svg>
|
|
42
|
-
<span>{otherLabel}</span>
|
|
43
|
-
</a>
|
|
44
|
-
|
|
45
|
-
<style>
|
|
46
|
-
.lang-switch {
|
|
47
|
-
display: inline-flex;
|
|
48
|
-
align-items: center;
|
|
49
|
-
gap: 0.35rem;
|
|
50
|
-
font-family: var(--font-mono);
|
|
51
|
-
font-size: 0.75rem;
|
|
52
|
-
font-weight: 600;
|
|
53
|
-
padding: 0.4rem 0.7rem;
|
|
54
|
-
border: 1px solid var(--border-bright);
|
|
55
|
-
border-radius: 999px;
|
|
56
|
-
background: var(--bg-elevated);
|
|
57
|
-
color: var(--text-muted);
|
|
58
|
-
text-decoration: none;
|
|
59
|
-
transition:
|
|
60
|
-
border-color 0.15s ease,
|
|
61
|
-
color 0.15s ease,
|
|
62
|
-
background 0.15s ease;
|
|
63
|
-
white-space: nowrap;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
.lang-switch:hover {
|
|
67
|
-
border-color: var(--accent-dim);
|
|
68
|
-
color: var(--accent);
|
|
69
|
-
background: var(--accent-glow);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
.lang-switch svg {
|
|
73
|
-
flex-shrink: 0;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
@media (max-width: 767px) {
|
|
77
|
-
.lang-switch {
|
|
78
|
-
margin-left: 0;
|
|
79
|
-
margin-top: 0.25rem;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
</style>
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
interface Props {
|
|
3
|
-
philosophy: {
|
|
4
|
-
title: string;
|
|
5
|
-
subtitle: string;
|
|
6
|
-
rungs: readonly string[];
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
const { philosophy } = Astro.props;
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
<section id="philosophy">
|
|
14
|
-
<div class="wrap">
|
|
15
|
-
<div class="section-head">
|
|
16
|
-
<h2>{philosophy.title}</h2>
|
|
17
|
-
<p>{philosophy.subtitle}</p>
|
|
18
|
-
</div>
|
|
19
|
-
<ol class="ladder">
|
|
20
|
-
{philosophy.rungs.map((rung) => <li>{rung}</li>)}
|
|
21
|
-
</ol>
|
|
22
|
-
</div>
|
|
23
|
-
</section>
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
interface Props {
|
|
3
|
-
stacks: {
|
|
4
|
-
title: string;
|
|
5
|
-
subtitle: string;
|
|
6
|
-
items: readonly {
|
|
7
|
-
name: string;
|
|
8
|
-
desc: string;
|
|
9
|
-
}[];
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
const { stacks } = Astro.props;
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
<section id="stacks">
|
|
17
|
-
<div class="wrap">
|
|
18
|
-
<div class="section-head">
|
|
19
|
-
<h2>{stacks.title}</h2>
|
|
20
|
-
<p>{stacks.subtitle}</p>
|
|
21
|
-
</div>
|
|
22
|
-
<div class="stacks-grid">
|
|
23
|
-
{
|
|
24
|
-
stacks.items.map((stack) => (
|
|
25
|
-
<div class="stack-card">
|
|
26
|
-
<h3>{stack.name}</h3>
|
|
27
|
-
<p>{stack.desc}</p>
|
|
28
|
-
</div>
|
|
29
|
-
))
|
|
30
|
-
}
|
|
31
|
-
</div>
|
|
32
|
-
</div>
|
|
33
|
-
</section>
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
interface Props {
|
|
3
|
-
suggested: {
|
|
4
|
-
title: string;
|
|
5
|
-
subtitle: string;
|
|
6
|
-
items: readonly {
|
|
7
|
-
name: string;
|
|
8
|
-
url: string;
|
|
9
|
-
desc: string;
|
|
10
|
-
}[];
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
const { suggested } = Astro.props;
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
<section id="suggested">
|
|
18
|
-
<div class="wrap">
|
|
19
|
-
<div class="section-head">
|
|
20
|
-
<h2>{suggested.title}</h2>
|
|
21
|
-
<p>{suggested.subtitle}</p>
|
|
22
|
-
</div>
|
|
23
|
-
<div class="suggested-list">
|
|
24
|
-
{
|
|
25
|
-
suggested.items.map((item) => (
|
|
26
|
-
<a
|
|
27
|
-
href={item.url}
|
|
28
|
-
class="suggested-card"
|
|
29
|
-
target="_blank"
|
|
30
|
-
rel="noopener noreferrer"
|
|
31
|
-
>
|
|
32
|
-
<h3>{item.name}</h3>
|
|
33
|
-
<p>{item.desc}</p>
|
|
34
|
-
</a>
|
|
35
|
-
))
|
|
36
|
-
}
|
|
37
|
-
</div>
|
|
38
|
-
</div>
|
|
39
|
-
</section>
|
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"source": "opencode-go-2026-06-16.json",
|
|
3
|
-
"date": "2026-06-16",
|
|
4
|
-
"repeat": 3,
|
|
5
|
-
"models": [
|
|
6
|
-
{
|
|
7
|
-
"id": "kimi-k2.6",
|
|
8
|
-
"label": "Kimi K2.6",
|
|
9
|
-
"locByArmTask": {
|
|
10
|
-
"baseline": {
|
|
11
|
-
"email": 46,
|
|
12
|
-
"debounce": 63,
|
|
13
|
-
"csv-sum": 18,
|
|
14
|
-
"countdown": 413,
|
|
15
|
-
"rate-limit": 62
|
|
16
|
-
},
|
|
17
|
-
"lexis-two": {
|
|
18
|
-
"email": 13,
|
|
19
|
-
"debounce": 10,
|
|
20
|
-
"csv-sum": 4,
|
|
21
|
-
"countdown": 13,
|
|
22
|
-
"rate-limit": 23
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
"timeByArmTask": {
|
|
26
|
-
"baseline": {
|
|
27
|
-
"email": 14.996,
|
|
28
|
-
"debounce": 6.997,
|
|
29
|
-
"csv-sum": 5.53,
|
|
30
|
-
"countdown": 22.661,
|
|
31
|
-
"rate-limit": 9.316
|
|
32
|
-
},
|
|
33
|
-
"lexis-two": {
|
|
34
|
-
"email": 7.944,
|
|
35
|
-
"debounce": 7.106,
|
|
36
|
-
"csv-sum": 5.982,
|
|
37
|
-
"countdown": 13.821,
|
|
38
|
-
"rate-limit": 18.117
|
|
39
|
-
}
|
|
40
|
-
},
|
|
41
|
-
"correctByArm": {
|
|
42
|
-
"baseline": {
|
|
43
|
-
"pass": 12,
|
|
44
|
-
"total": 15
|
|
45
|
-
},
|
|
46
|
-
"lexis-two": {
|
|
47
|
-
"pass": 12,
|
|
48
|
-
"total": 15
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
"totals": {
|
|
52
|
-
"baselineLoc": 602,
|
|
53
|
-
"lexisLoc": 63,
|
|
54
|
-
"reductionPct": 90,
|
|
55
|
-
"baselineTimeSec": 59.5,
|
|
56
|
-
"lexisTimeSec": 53
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
"id": "deepseek-v4-pro",
|
|
61
|
-
"label": "DeepSeek V4",
|
|
62
|
-
"locByArmTask": {
|
|
63
|
-
"baseline": {
|
|
64
|
-
"email": 36,
|
|
65
|
-
"debounce": 61,
|
|
66
|
-
"csv-sum": 25,
|
|
67
|
-
"countdown": 113,
|
|
68
|
-
"rate-limit": 53
|
|
69
|
-
},
|
|
70
|
-
"lexis-two": {
|
|
71
|
-
"email": 9,
|
|
72
|
-
"debounce": 12,
|
|
73
|
-
"csv-sum": 4,
|
|
74
|
-
"countdown": 12,
|
|
75
|
-
"rate-limit": 20
|
|
76
|
-
}
|
|
77
|
-
},
|
|
78
|
-
"timeByArmTask": {
|
|
79
|
-
"baseline": {
|
|
80
|
-
"email": 37.21,
|
|
81
|
-
"debounce": 21.122,
|
|
82
|
-
"csv-sum": 10.365,
|
|
83
|
-
"countdown": 33.662,
|
|
84
|
-
"rate-limit": 31.551
|
|
85
|
-
},
|
|
86
|
-
"lexis-two": {
|
|
87
|
-
"email": 68.671,
|
|
88
|
-
"debounce": 16.821,
|
|
89
|
-
"csv-sum": 25.552,
|
|
90
|
-
"countdown": 45.493,
|
|
91
|
-
"rate-limit": 47.007
|
|
92
|
-
}
|
|
93
|
-
},
|
|
94
|
-
"correctByArm": {
|
|
95
|
-
"baseline": {
|
|
96
|
-
"pass": 14,
|
|
97
|
-
"total": 15
|
|
98
|
-
},
|
|
99
|
-
"lexis-two": {
|
|
100
|
-
"pass": 13,
|
|
101
|
-
"total": 15
|
|
102
|
-
}
|
|
103
|
-
},
|
|
104
|
-
"totals": {
|
|
105
|
-
"baselineLoc": 288,
|
|
106
|
-
"lexisLoc": 57,
|
|
107
|
-
"reductionPct": 80,
|
|
108
|
-
"baselineTimeSec": 133.9,
|
|
109
|
-
"lexisTimeSec": 203.5
|
|
110
|
-
}
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
"id": "qwen3.7-max",
|
|
114
|
-
"label": "Qwen3.7 Max",
|
|
115
|
-
"locByArmTask": {
|
|
116
|
-
"baseline": {
|
|
117
|
-
"email": 39,
|
|
118
|
-
"debounce": 48,
|
|
119
|
-
"csv-sum": 19,
|
|
120
|
-
"countdown": 124,
|
|
121
|
-
"rate-limit": 40
|
|
122
|
-
},
|
|
123
|
-
"lexis-two": {
|
|
124
|
-
"email": 14,
|
|
125
|
-
"debounce": 9,
|
|
126
|
-
"csv-sum": 4,
|
|
127
|
-
"countdown": 10,
|
|
128
|
-
"rate-limit": 17
|
|
129
|
-
}
|
|
130
|
-
},
|
|
131
|
-
"timeByArmTask": {
|
|
132
|
-
"baseline": {
|
|
133
|
-
"email": 58.608,
|
|
134
|
-
"debounce": 32.691,
|
|
135
|
-
"csv-sum": 26.66,
|
|
136
|
-
"countdown": 52.281,
|
|
137
|
-
"rate-limit": 42.698
|
|
138
|
-
},
|
|
139
|
-
"lexis-two": {
|
|
140
|
-
"email": 39.348,
|
|
141
|
-
"debounce": 27.973,
|
|
142
|
-
"csv-sum": 26.696,
|
|
143
|
-
"countdown": 38.458,
|
|
144
|
-
"rate-limit": 39.445
|
|
145
|
-
}
|
|
146
|
-
},
|
|
147
|
-
"correctByArm": {
|
|
148
|
-
"baseline": {
|
|
149
|
-
"pass": 12,
|
|
150
|
-
"total": 15
|
|
151
|
-
},
|
|
152
|
-
"lexis-two": {
|
|
153
|
-
"pass": 13,
|
|
154
|
-
"total": 15
|
|
155
|
-
}
|
|
156
|
-
},
|
|
157
|
-
"totals": {
|
|
158
|
-
"baselineLoc": 270,
|
|
159
|
-
"lexisLoc": 54,
|
|
160
|
-
"reductionPct": 80,
|
|
161
|
-
"baselineTimeSec": 212.9,
|
|
162
|
-
"lexisTimeSec": 171.9
|
|
163
|
-
}
|
|
164
|
-
},
|
|
165
|
-
{
|
|
166
|
-
"id": "minimax-m3",
|
|
167
|
-
"label": "MiniMax M3",
|
|
168
|
-
"locByArmTask": {
|
|
169
|
-
"baseline": {
|
|
170
|
-
"email": 55,
|
|
171
|
-
"debounce": 66,
|
|
172
|
-
"csv-sum": 33,
|
|
173
|
-
"countdown": 112,
|
|
174
|
-
"rate-limit": 59
|
|
175
|
-
},
|
|
176
|
-
"lexis-two": {
|
|
177
|
-
"email": 9,
|
|
178
|
-
"debounce": 10,
|
|
179
|
-
"csv-sum": 4,
|
|
180
|
-
"countdown": 18,
|
|
181
|
-
"rate-limit": 15
|
|
182
|
-
}
|
|
183
|
-
},
|
|
184
|
-
"timeByArmTask": {
|
|
185
|
-
"baseline": {
|
|
186
|
-
"email": 13.415,
|
|
187
|
-
"debounce": 12.657,
|
|
188
|
-
"csv-sum": 6.729,
|
|
189
|
-
"countdown": 12.771,
|
|
190
|
-
"rate-limit": 14.89
|
|
191
|
-
},
|
|
192
|
-
"lexis-two": {
|
|
193
|
-
"email": 6.683,
|
|
194
|
-
"debounce": 3.81,
|
|
195
|
-
"csv-sum": 2.563,
|
|
196
|
-
"countdown": 4.428,
|
|
197
|
-
"rate-limit": 4.817
|
|
198
|
-
}
|
|
199
|
-
},
|
|
200
|
-
"correctByArm": {
|
|
201
|
-
"baseline": {
|
|
202
|
-
"pass": 11,
|
|
203
|
-
"total": 15
|
|
204
|
-
},
|
|
205
|
-
"lexis-two": {
|
|
206
|
-
"pass": 15,
|
|
207
|
-
"total": 15
|
|
208
|
-
}
|
|
209
|
-
},
|
|
210
|
-
"totals": {
|
|
211
|
-
"baselineLoc": 325,
|
|
212
|
-
"lexisLoc": 56,
|
|
213
|
-
"reductionPct": 83,
|
|
214
|
-
"baselineTimeSec": 60.5,
|
|
215
|
-
"lexisTimeSec": 22.3
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
],
|
|
219
|
-
"tasks": [
|
|
220
|
-
"email",
|
|
221
|
-
"debounce",
|
|
222
|
-
"csv-sum",
|
|
223
|
-
"countdown",
|
|
224
|
-
"rate-limit"
|
|
225
|
-
],
|
|
226
|
-
"arms": [
|
|
227
|
-
"baseline",
|
|
228
|
-
"lexis-two"
|
|
229
|
-
]
|
|
230
|
-
}
|