Repository navigation
Expand file tree
/
Copy pathopensiro.html
More file actions
127 lines (119 loc) · 23.6 KB
/
Copy pathopensiro.html
File metadata and controls
127 lines (119 loc) · 23.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>opensiro / proofstate</title>
<meta name="description" content="OpenSiro is a cross-Flash sandbox for testing harness capabilities before frontier validation.">
<meta name="color-scheme" content="light">
<meta property="og:title" content="opensiro / proofstate">
<meta property="og:description" content="Find cross-model evidence before paying for a frontier harness experiment.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://opensiro.com/opensiro.html">
<meta property="og:image" content="https://opensiro.com/assets/social-preview.png?v=215d175a3244">
<meta property="og:image:type" content="image/png">
<meta property="og:image:width" content="1536">
<meta property="og:image:height" content="1024">
<meta property="og:image:alt" content="opensiro — Build organizations. Test ideas.">
<meta name="twitter:image" content="https://opensiro.com/assets/social-preview.png?v=215d175a3244">
<meta name="twitter:image:alt" content="opensiro — Build organizations. Test ideas.">
<meta name="twitter:description" content="Find cross-model evidence before paying for a frontier harness experiment.">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="opensiro / proofstate">
<link rel="canonical" href="https://opensiro.com/opensiro.html">
<style>.brand-mark{display:inline-flex;width:18px;height:32px;overflow:hidden}.brand-logo{display:block;width:22px;height:32px;max-width:none;object-fit:contain;clip-path:inset(0 17%)}</style>
<link rel="stylesheet" href="globals.css?v=20260916-type">
<link rel="stylesheet" href="products.css?v=20260912-content-diagrams">
<link rel="preload" href="assets/DepartureMono-Regular.woff2" as="font" type="font/woff2" crossorigin>
<link rel="icon" type="image/png" sizes="64x64" href="assets/favicon-64x64.png?v=20260917-focused" media="(prefers-color-scheme: light)">
<link rel="icon" type="image/png" sizes="64x64" href="assets/favicon-64x64-dark.png?v=20260917-focused" media="(prefers-color-scheme: dark)">
</head>
<body class="os-article-page">
<a class="skip-link" href="#main-content">Skip to content</a>
<header class="site-header"><div class="wrap"><a class="brand-wordmark" href="index.html" aria-label="opensiro home"><span class="brand-mark" aria-hidden="true"><img class="brand-logo" src="assets/mascot-logo.png" alt="" width="22" height="32"></span><span class="brand-copy"><span class="brand-name">opensiro</span><span class="brand-pronunciation">[o-pen-shi-ro]</span></span></a><nav class="nav-links" aria-label="primary"><a class="btn-stamp active" href="products.html" data-nav="products" aria-current="location">Products</a><a class="btn-stamp" href="vsm-index.html" data-nav="index">Index</a><a class="btn-stamp" href="research.html" data-nav="research">Research</a></nav></div></header>
<main id="main-content">
<section class="os-hero" id="os-overview" aria-labelledby="os-title"><div class="wrap">
<a class="os-back-link" href="products.html#proofstate">← All products</a>
<div class="os-product-line"><img src="assets/opensiro-mark.svg?v=20260903-pale-blue" width="72" height="72" alt=""><div><span>002 / Develop & evaluate</span><strong>opensiro</strong></div></div>
<div class="os-hero-grid"><div class="os-hero-copy"><p class="os-kicker">Cross-Flash sandbox</p><h1 id="os-title">Test the mechanism<br><span>before you fund the frontier experiment.</span></h1><p class="os-lead">Prototype a new harness capability in a cheap environment. Measure whether it helps across heterogeneous small models.</p></div></div>
</div></section>
<section class="os-section os-tint" id="os-economics" aria-labelledby="economics-title"><div class="wrap">
<div class="os-heading os-heading-split"><div><p class="os-kicker">One start · two cost profiles <a class="section-export" href="assets/exports/proofstate-economics.gif" target="_blank" rel="noopener" aria-label="Open animated proofstate cost poster in a new tab">↖</a></p><h2 id="economics-title">Synchronize the experiment.<br><span>Keep the claims distinct.</span></h2></div><div class="os-run-controls"><button class="os-replay" type="button" data-run-toggle aria-label="Pause benchmark animation">Pause</button><button class="os-replay" type="button" data-run-replay aria-label="Replay the benchmark comparison">↻ Replay run</button></div></div>
<div class="os-data-key" aria-label="Evidence labels"><span><i class="reported"></i>Published</span><span><i class="derived"></i>Derived from published run</span><span><i class="estimated"></i>Normalized estimate</span></div>
<figure class="os-cost-system" data-cost-system>
<figcaption class="os-run-clock"><span>Shared playback · not real-time scale</span><strong data-run-clock>00:00</strong><em data-run-stage aria-live="polite">Ready</em></figcaption>
<div class="os-commit-deck" aria-label="Illustrative harness commit history">
<header><span>harness / experiment-run</span><small>illustrative commit history</small></header>
<ol class="os-commit-history">
<li class="os-commit-card is-recorded"><div><code>a17f2c9</code><span>baseline saved</span></div><strong>Freeze harness baseline</strong><small>parent · reference evidence</small></li>
<li class="os-commit-card is-candidate" data-commit-active><div><code>b42e810</code><span data-commit-state>queued</span></div><strong>Experiment harness run</strong><small>candidate · capability hypothesis</small><i aria-hidden="true"><u data-commit-progress></u></i></li>
<li class="os-commit-card is-queued"><div><code>c08d35a</code><span>queued</span></div><strong>Audit failure distribution</strong><small>next idea · not evaluated yet</small></li>
</ol>
<div class="os-commit-dispatch"><code>b42e810</code><span>one candidate commit → two independent evaluation designs</span></div>
</div>
<div class="os-run-grid">
<article class="os-run-panel os-run-panel-flash" data-run-panel="flash">
<header><div><span class="os-badge estimate">Estimated</span><p>OpenSiro / heterogeneous matrix</p><h3><span class="os-term"><button class="os-term-trigger" type="button" aria-describedby="term-flash">5× Cross-Flash<sup aria-hidden="true">?</sup></button><span class="os-tooltip" id="term-flash" role="tooltip" hidden>Five low-cost model families run concurrently with the same tasks and budget.</span></span></h3></div><span class="os-panel-tag">cheap evidence</span></header>
<div class="os-run-origin"><span><code>b42e810</code> → OpenSiro Sandbox</span><strong>Experiment harness run</strong><small>candidate vs frozen baseline</small><em data-flash-run-state>queued</em></div>
<div class="os-sandbox">
<div class="os-sandbox-head"><span>OpenSiro Sandbox</span><strong><a class="os-cite" href="https://github.com/harbor-framework/terminal-bench-2-1/blob/main/leaderboard/submissions/2026-05-01-openai-gpt-5-5-xhigh-codex.json" target="_blank" rel="noopener" aria-describedby="os-source-tooltip" data-citation="Experiment size: 20 tasks. Token and runtime estimates are normalized from the published 445-trial Terminal-Bench run.">20<sup aria-hidden="true">↗</sup></a> terminal-bench-like tasks</strong><small>five concurrent lanes · cost / illustrative delta</small></div>
<div class="os-model-lanes" aria-label="Five heterogeneous Flash model families">
<div class="os-model-lane" data-input-rate="0.1" data-output-rate="0.4" data-delta="7"><span><b>Qwen Flash</b><small>Qwen3.5 Flash · Alibaba</small></span><i><u data-model-progress></u></i><em><a class="os-cite" href="https://docs.modelstudio.console.alibabacloud.com/en/model-studio/qwen3-5-flash" target="_blank" rel="noopener" aria-describedby="os-source-tooltip" data-citation="Estimated for 20 tasks from 32.77M input and 0.27M output tokens at Qwen's published $0.10 / $0.40 per 1M rates."><strong data-model-cost>$0.00</strong><sup aria-hidden="true">↗</sup></a><button class="os-cite os-cite-note" type="button" aria-describedby="os-source-tooltip" data-citation="Illustrative experiment result only. No measured run or external source yet."><b data-model-delta>—</b><sup aria-hidden="true">i</sup></button></em></div>
<div class="os-model-lane" data-input-rate="0" data-output-rate="0" data-delta="5"><span><b>GLM Flash</b><small>GLM-4.7-Flash · Z.ai</small></span><i><u data-model-progress></u></i><em><a class="os-cite" href="https://docs.z.ai/guides/overview/pricing" target="_blank" rel="noopener" aria-describedby="os-source-tooltip" data-citation="Z.ai's published API tariff lists GLM-4.7-Flash input and output as Free; service quotas may apply."><strong data-model-cost>Free</strong><sup aria-hidden="true">↗</sup></a><button class="os-cite os-cite-note" type="button" aria-describedby="os-source-tooltip" data-citation="Illustrative experiment result only. No measured run or external source yet."><b data-model-delta>—</b><sup aria-hidden="true">i</sup></button></em></div>
<div class="os-model-lane" data-input-rate="0.15" data-output-rate="0.6" data-delta="9"><span><b>Mistral Small</b><small>Mistral Small 4 · Mistral</small></span><i><u data-model-progress></u></i><em><a class="os-cite" href="https://docs.mistral.ai/inference/pricing" target="_blank" rel="noopener" aria-describedby="os-source-tooltip" data-citation="Estimated for 20 tasks from 32.77M input and 0.27M output tokens at Mistral's published $0.15 / $0.60 per 1M rates."><strong data-model-cost>$0.00</strong><sup aria-hidden="true">↗</sup></a><button class="os-cite os-cite-note" type="button" aria-describedby="os-source-tooltip" data-citation="Illustrative experiment result only. No measured run or external source yet."><b data-model-delta>—</b><sup aria-hidden="true">i</sup></button></em></div>
<div class="os-model-lane" data-input-rate="0.3" data-output-rate="2.5" data-delta="4"><span><b>Gemini Flash</b><small>Gemini 2.5 Flash · Google</small></span><i><u data-model-progress></u></i><em><a class="os-cite" href="https://ai.google.dev/gemini-api/docs/pricing#gemini-2.5-flash" target="_blank" rel="noopener" aria-describedby="os-source-tooltip" data-citation="Estimated for 20 tasks from 32.77M input and 0.27M output tokens at Gemini's published $0.30 / $2.50 per 1M standard rates."><strong data-model-cost>$0.00</strong><sup aria-hidden="true">↗</sup></a><button class="os-cite os-cite-note" type="button" aria-describedby="os-source-tooltip" data-citation="Illustrative experiment result only. No measured run or external source yet."><b data-model-delta>—</b><sup aria-hidden="true">i</sup></button></em></div>
<div class="os-model-lane" data-input-rate="0.44" data-output-rate="1.32" data-delta="6"><span><b>DeepSeek Flash</b><small>DeepSeek-V4-Flash · 0731</small></span><i><u data-model-progress></u></i><em><a class="os-cite" href="https://api-docs.deepseek.com/quick_start/pricing/" target="_blank" rel="noopener" aria-describedby="os-source-tooltip" data-citation="Estimated for 20 tasks from 32.77M input and 0.27M output tokens at DeepSeek's published $0.44 / $1.32 per 1M peak rates."><strong data-model-cost>$0.00</strong><sup aria-hidden="true">↗</sup></a><button class="os-cite os-cite-note" type="button" aria-describedby="os-source-tooltip" data-citation="Illustrative experiment result only. No measured run or external source yet."><b data-model-delta>—</b><sup aria-hidden="true">i</sup></button></em></div>
</div>
</div>
<div class="os-live-metrics">
<div><span>Token envelope</span><a class="os-cite" href="https://github.com/harbor-framework/terminal-bench-2-1/blob/main/leaderboard/submissions/2026-05-01-openai-gpt-5-5-xhigh-codex.json" target="_blank" rel="noopener" aria-describedby="os-source-tooltip" data-citation="Derived: 735.2M published tokens ÷ 445 trials × 20 tasks × 5 model lanes = 165.2M tokens."><strong data-flash-token-meter>0</strong><sup aria-hidden="true">↗</sup></a><small>estimated</small></div>
<div><span>Matrix cost</span><a class="os-cite" href="https://github.com/harbor-framework/terminal-bench-2-1/blob/main/leaderboard/submissions/2026-05-01-openai-gpt-5-5-xhigh-codex.json" target="_blank" rel="noopener" aria-describedby="os-source-tooltip" data-citation="Sum of five 20-task model estimates. The workload comes from Terminal-Bench; model tariff links are shown above and under Sources."><strong data-flash-cost-meter>$0.00</strong><sup aria-hidden="true">↗</sup></a><small>estimated</small></div>
<div><span>Concurrent runtime</span><a class="os-cite" href="https://github.com/harbor-framework/terminal-bench-2-1/blob/main/leaderboard/submissions/2026-05-01-openai-gpt-5-5-xhigh-codex.json" target="_blank" rel="noopener" aria-describedby="os-source-tooltip" data-citation="Derived: published 482.6-second mean trial × 20 tasks = 2h 40m 52s, with five model lanes assumed concurrent."><strong data-flash-time-meter>00:00</strong><sup aria-hidden="true">↗</sup></a><small>normalized</small></div>
</div>
<footer class="os-flash-footer"><div class="os-decision" data-flash-decision><span>REWORK</span><strong>PROMOTE</strong><span>REJECT</span></div><div class="os-flash-result"><span>Estimated cost advantage</span><a class="os-cite" href="https://github.com/harbor-framework/terminal-bench-2-1/blob/main/leaderboard/submissions/2026-05-01-openai-gpt-5-5-xhigh-codex.json" target="_blank" rel="noopener" aria-describedby="os-source-tooltip" data-citation="Derived: $2,059.19 published LLM cost ÷ $33.74 estimated Cross-Flash matrix cost = 61×."><strong data-flash-advantage>—</strong><sup aria-hidden="true">↗</sup></a></div></footer>
</article>
<article class="os-run-panel os-run-panel-llm" data-run-panel="llm">
<header><div><span class="os-badge reported">Published</span><p>Terminal-Bench 2.1 / verified submission</p><h3>1× frontier LLM baseline</h3></div><span class="os-panel-tag">cost reference</span></header>
<div class="os-run-origin"><span><code>b42e810</code> → Terminal-Bench 2.1</span><strong>Full benchmark run</strong><small>Codex + GPT-5.5 · xhigh · <a class="os-cite" href="https://github.com/harbor-framework/terminal-bench-2-1/blob/main/leaderboard/submissions/2026-05-01-openai-gpt-5-5-xhigh-codex.json" target="_blank" rel="noopener" aria-describedby="os-source-tooltip" data-citation="Published Terminal-Bench submission reports 445 trials.">445 trials<sup aria-hidden="true">↗</sup></a></small><em data-llm-run-state>queued</em></div>
<div class="os-frontier-meter"><span>Published workload</span><i><u data-llm-progress></u></i><div><b><a class="os-cite" href="https://github.com/harbor-framework/terminal-bench-2-1/blob/main/leaderboard/submissions/2026-05-01-openai-gpt-5-5-xhigh-codex.json" target="_blank" rel="noopener" aria-describedby="os-source-tooltip" data-citation="Published design: 89 Terminal-Bench tasks with 5 trials per task, 445 trials total.">89 tasks × 5 trials<sup aria-hidden="true">↗</sup></a></b><em data-llm-percent>0%</em></div></div>
<div class="os-live-metrics">
<div><span>Total tokens</span><a class="os-cite" href="https://github.com/harbor-framework/terminal-bench-2-1/blob/main/leaderboard/submissions/2026-05-01-openai-gpt-5-5-xhigh-codex.json" target="_blank" rel="noopener" aria-describedby="os-source-tooltip" data-citation="Published: 336.8M uncached input + 392.4M cached input + 6.0M output = 735.2M total tokens."><strong data-llm-token-meter>0</strong><sup aria-hidden="true">↗</sup></a><small>published</small></div>
<div><span>Total cost</span><a class="os-cite" href="https://github.com/harbor-framework/terminal-bench-2-1/blob/main/leaderboard/submissions/2026-05-01-openai-gpt-5-5-xhigh-codex.json" target="_blank" rel="noopener" aria-describedby="os-source-tooltip" data-citation="Published Terminal-Bench submission reports a total run cost of $2,059.19."><strong data-llm-cost-meter>$0.00</strong><sup aria-hidden="true">↗</sup></a><small>published</small></div>
<div><span>Serialized workload</span><a class="os-cite" href="https://github.com/harbor-framework/terminal-bench-2-1/blob/main/leaderboard/submissions/2026-05-01-openai-gpt-5-5-xhigh-codex.json" target="_blank" rel="noopener" aria-describedby="os-source-tooltip" data-citation="Derived from the published 482.6-second mean trial across 445 trials: 59h 39m 17s serialized."><strong data-llm-time-meter>00:00</strong><sup aria-hidden="true">↗</sup></a><small>derived</small></div>
</div>
<footer><dl><div><dt>Mean trial</dt><dd><a class="os-cite" href="https://github.com/harbor-framework/terminal-bench-2-1/blob/main/leaderboard/submissions/2026-05-01-openai-gpt-5-5-xhigh-codex.json" target="_blank" rel="noopener" aria-describedby="os-source-tooltip" data-citation="Published mean trial duration: 482.6 seconds, displayed as 08:03.">08:03<sup aria-hidden="true">↗</sup></a> <small>published</small></dd></div><div><dt>Serialized total</dt><dd><a class="os-cite" href="https://github.com/harbor-framework/terminal-bench-2-1/blob/main/leaderboard/submissions/2026-05-01-openai-gpt-5-5-xhigh-codex.json" target="_blank" rel="noopener" aria-describedby="os-source-tooltip" data-citation="Derived: 482.6 seconds × 445 trials = 59h 39m 17s.">59h 39m<sup aria-hidden="true">↗</sup></a> <small>derived</small></dd></div></dl></footer>
</article>
</div>
</figure>
<span class="os-tooltip" id="os-source-tooltip" data-source-tooltip role="tooltip" aria-live="polite" hidden></span>
<div class="os-source-line" aria-label="Pricing and run sources"><span>Sources</span><a href="https://docs.modelstudio.console.alibabacloud.com/en/model-studio/qwen3-5-flash" target="_blank" rel="noopener">Qwen</a><a href="https://docs.z.ai/guides/overview/pricing" target="_blank" rel="noopener">GLM</a><a href="https://docs.mistral.ai/inference/pricing" target="_blank" rel="noopener">Mistral</a><a href="https://ai.google.dev/gemini-api/docs/pricing#gemini-2.5-flash" target="_blank" rel="noopener">Gemini</a><a href="https://api-docs.deepseek.com/quick_start/pricing/" target="_blank" rel="noopener">DeepSeek</a><a href="https://github.com/harbor-framework/terminal-bench-2-1/blob/main/leaderboard/submissions/2026-05-01-openai-gpt-5-5-xhigh-codex.json" target="_blank" rel="noopener">Terminal-Bench</a></div>
<p class="os-note">Prices checked Sept 4, 2026.</p>
</div></section>
<section class="os-section" id="os-workflow" aria-labelledby="workflow-title"><div class="wrap">
<div class="os-heading"><p class="os-kicker">Cross-Flash workflow <a class="section-export" href="assets/exports/proofstate-workflow.png" target="_blank" rel="noopener" aria-label="Open proofstate workflow poster in a new tab">↖</a></p><h2 id="workflow-title">One harness experiment.<br><span>Five independent signals.</span></h2></div>
<div class="os-workflow" data-pipeline>
<div class="os-cheap-zone"><span class="os-zone-label">Cross-Flash sandbox</span><ol>
<li><i>01</i><div><span>Commit</span><strong>Harness capability</strong></div></li>
<li><i>02</i><div><span>Freeze</span><strong>Tasks + budget</strong></div></li>
<li class="sandbox"><i>03</i><div><span>Run in parallel</span><strong>Qwen · GLM · Mistral · Gemini · DeepSeek</strong></div></li>
<li><i>04</i><div><span>Compare</span><strong>Delta · cost · runtime · regressions</strong></div></li>
<li class="decision"><i>05</i><div><span>Decide</span><strong>PROMOTE / REWORK / REJECT</strong></div></li>
</ol></div>
<div class="os-frontier-zone"><span class="os-zone-label">Conditional frontier layer</span><div class="os-frontier-gate"><span>Only after PROMOTE</span><strong>Reimplement the proven mechanism.</strong></div><ol><li><i>06</i><div><span>Build</span><strong>Frontier harness</strong></div></li><li><i>07</i><div><span>Validate</span><strong>Limited proxy tasks</strong></div></li><li><i>08</i><div><span>Justify</span><strong>Full benchmark</strong></div></li></ol></div>
</div>
</div></section>
<section class="os-section os-tint" id="os-promotion" aria-labelledby="promotion-title"><div class="wrap">
<div class="os-heading"><p class="os-kicker">Promotion criteria <a class="section-export" href="assets/exports/proofstate-promotion.png" target="_blank" rel="noopener" aria-label="Open proofstate promotion poster in a new tab">↖</a></p><h2 id="promotion-title">Prefer general mechanisms.<br><span>Reject model-specific luck.</span></h2></div>
<div class="os-promotion-grid"><ol class="os-criteria"><li><span>01</span>Positive effect across most Flash families.</li><li><span>02</span>No single family determines the result.</li><li><span>03</span>The gain persists across task types.</li><li><span>04</span>Extra budget does not explain the gain.</li><li><span>05</span>No major family or task regression.</li><li><span>06</span>Cost is proportional to expected value.</li><li><span>07</span>The mechanism scales with model capability.</li></ol><aside class="os-distinction"><span>Critical distinction</span><div><small>General capability improvement</small><strong>verification<br>representation<br>planning<br>memory<br>recovery<br>tool interface<br>context management</strong></div><div class="warning"><small>Possible model-specific compensation</small><strong>A rigid policy may help one family and constrain another.</strong></div></aside></div>
</div></section>
<section class="os-section" id="os-scope" aria-labelledby="scope-title"><div class="wrap">
<div class="os-heading"><p class="os-kicker">When to use the sandbox <a class="section-export" href="assets/exports/proofstate-scope.png" target="_blank" rel="noopener" aria-label="Open proofstate scope poster in a new tab">↖</a></p><h2 id="scope-title">Reserve the matrix<br><span>for uncertain, expensive changes.</span></h2></div>
<div class="os-scope-grid"><article><span class="os-badge target">Run Cross-Flash</span><ul><li>new tools and representations</li><li>planners and verifiers</li><li>memory and state mechanisms</li><li>parallel execution</li><li>new execution policies</li><li>major context strategies</li></ul></article><article><span class="os-badge reported">Use basic checks</span><ul><li>ordinary bug fixes</li><li>small prompt changes</li><li>local implementation changes</li><li>deterministic regressions</li></ul></article></div>
<div class="os-benchmark-surfaces"><header><span>Evaluation surfaces</span><strong>Open → private → sealed</strong></header><article><span>01 / Open</span><h3>Development</h3><p>Public tasks.</p></article><article><span>02 / Hidden</span><h3>CI</h3><p>Private held-out tests.</p></article><article><span>03 / Sealed</span><h3>Competition</h3><p>Fixed final benchmark.</p></article></div>
</div></section>
</main>
<nav class="os-section-nav" aria-label="OpenSiro table of contents"><div class="os-section-nav-track"><span class="os-section-nav-label">Contents</span><div class="os-section-nav-scroll"><div class="os-section-nav-links"><span class="os-section-glider" aria-hidden="true"></span><a href="#os-overview" data-os-section="os-overview">Overview</a><a href="#os-economics" data-os-section="os-economics">Cost</a><a href="#os-workflow" data-os-section="os-workflow">Workflow</a><a href="#os-promotion" data-os-section="os-promotion">Promotion</a><a href="#os-scope" data-os-section="os-scope">Scope</a></div></div></div></nav>
<footer class="site-footer"><div class="wrap"><span class="footer-copy">© 2026 opensiro · all rights reserved</span><div class="footer-links"><a href="products.html">Products</a><a href="vsm-index.html">Index</a><a href="research.html">Research</a><a href="design.html">Design</a></div></div></footer>
<script src="app.js?v=20260903-mobile" defer></script><script src="products.js?v=20260904-source-notes" defer></script>
</body>
</html>