Skip to content

Commit 6b39a9a

Browse files
jgoldfootgithub-actions[bot]
authored andcommitted
style: fix Prettier formatting
1 parent d09c442 commit 6b39a9a

10 files changed

Lines changed: 881 additions & 498 deletions

AGENTS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ served.
1919

2020
- **Agent Capability Spectrum**: Six levels of agent capability (Level 0: HTTP
2121
Retrievers → Level 5: Protocol-Native Agents)
22-
- **Defense in Depth**: Five layers (Content Accessibility → Semantic Structure
23-
Structured Data → API Surface → Agent Protocols)
22+
- **Defense in Depth**: Five layers (Content Accessibility → Semantic Structure
23+
Structured Data → API Surface → Agent Protocols)
2424
- **FR-1 (Initial Payload Accessibility)**: Content must exist in the server's
2525
initial HTML response — this is Layer 1, the foundation
2626

CODE_OF_CONDUCT.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@ the community in public spaces.
7373
Instances of abusive, harassing, or otherwise unacceptable behavior may be
7474
reported to the community leaders responsible for enforcement at:
7575

76-
**Email**: joel@goldfoot.com
77-
**GitHub**: Create a private issue or contact maintainers directly
76+
**Email**: joel@goldfoot.com **GitHub**: Create a private issue or contact
77+
maintainers directly
7878

7979
All reports will be reviewed and investigated promptly and fairly. All community
8080
leaders are obligated to respect the privacy and security of the reporter of any

README.md

Lines changed: 40 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# **BiModal Design**
22

3-
> **A design framework for building interfaces that work across the full AI agent
4-
> capability spectrum — from HTTP retrievers to protocol-native agents.**
3+
> **A design framework for building interfaces that work across the full AI
4+
> agent capability spectrum — from HTTP retrievers to protocol-native agents.**
55
66
[![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)
77
[![Status: Research Framework](https://img.shields.io/badge/Status-Research%20Framework-yellow.svg)]()
@@ -54,14 +54,14 @@ there.
5454

5555
Interfaces today face a spectrum of AI consumers, not a single one:
5656

57-
| Agent Level | Example | What They See |
58-
| --- | --- | --- |
59-
| Level 0 — HTTP Retrievers | curl, web scrapers | Raw HTML only |
60-
| Level 1 — LLM Browsers | ChatGPT Browse, Perplexity | Parsed HTML, no JS |
61-
| Level 2 — Browser Automation | Playwright agents | Full rendered DOM |
62-
| Level 3 — Vision Agents | Claude Computer Use | Screenshots |
63-
| Level 4 — Tool-Use Agents | OpenAI function calling | API responses |
64-
| Level 5 — Protocol-Native | MCP-connected agents | Protocol data |
57+
| Agent Level | Example | What They See |
58+
| ---------------------------- | -------------------------- | ------------------ |
59+
| Level 0 — HTTP Retrievers | curl, web scrapers | Raw HTML only |
60+
| Level 1 — LLM Browsers | ChatGPT Browse, Perplexity | Parsed HTML, no JS |
61+
| Level 2 — Browser Automation | Playwright agents | Full rendered DOM |
62+
| Level 3 — Vision Agents | Claude Computer Use | Screenshots |
63+
| Level 4 — Tool-Use Agents | OpenAI function calling | API responses |
64+
| Level 5 — Protocol-Native | MCP-connected agents | Protocol data |
6565

6666
A CSR-only app with `<div id="root"></div>` is invisible to Levels 0-1, fragile
6767
for Levels 2-3, and unreachable for Levels 4-5 without an API. Most interfaces
@@ -141,17 +141,17 @@ node fr1-checker.js https://your-site.com --verbose
141141

142142
<!-- Layer 3: Structured data with schema.org -->
143143
<script type="application/ld+json">
144-
{
145-
"@context": "https://schema.org",
146-
"@type": "Product",
147-
"name": "Wireless Headphones",
148-
"offers": {
149-
"@type": "Offer",
150-
"price": "99.99",
151-
"priceCurrency": "USD",
152-
"availability": "https://schema.org/InStock"
144+
{
145+
"@context": "https://schema.org",
146+
"@type": "Product",
147+
"name": "Wireless Headphones",
148+
"offers": {
149+
"@type": "Offer",
150+
"price": "99.99",
151+
"priceCurrency": "USD",
152+
"availability": "https://schema.org/InStock"
153+
}
153154
}
154-
}
155155
</script>
156156

157157
<!-- Layer 4: API documented via OpenAPI -->
@@ -171,11 +171,11 @@ response. This is Layer 1 of defense in depth — the floor, not the ceiling.
171171

172172
v3.0 migrates from custom `data-agent-*` attributes to established standards:
173173

174-
| v2.x | v3.0 |
175-
| --- | --- |
174+
| v2.x | v3.0 |
175+
| ------------------------------ | ----------------------------------------- |
176176
| `data-agent-context="product"` | `itemscope itemtype="schema.org/Product"` |
177-
| `data-agent-action="buy"` | `aria-label="Add to cart"` |
178-
| `data-agent-field="price"` | `itemprop="price"` |
177+
| `data-agent-action="buy"` | `aria-label="Add to cart"` |
178+
| `data-agent-field="price"` | `itemprop="price"` |
179179

180180
### Agent Protocols
181181

@@ -195,13 +195,13 @@ AI-assisted discoverability.
195195

196196
## Documentation
197197

198-
| Document | Description |
199-
| --- | --- |
200-
| [White Paper](docs/whitepaper.md) | Framework specification v3.0 |
201-
| [Implementation Guide](docs/implementation-guide.md) | Development & deployment practices |
202-
| [Compliance Checklist](docs/compliance-checklist.md) | Layer-by-layer compliance criteria |
203-
| [API Reference](docs/api-reference.md) | Tool and validator API documentation |
204-
| [Troubleshooting](docs/troubleshooting.md) | Common errors and corrections |
198+
| Document | Description |
199+
| ---------------------------------------------------- | ------------------------------------ |
200+
| [White Paper](docs/whitepaper.md) | Framework specification v3.0 |
201+
| [Implementation Guide](docs/implementation-guide.md) | Development & deployment practices |
202+
| [Compliance Checklist](docs/compliance-checklist.md) | Layer-by-layer compliance criteria |
203+
| [API Reference](docs/api-reference.md) | Tool and validator API documentation |
204+
| [Troubleshooting](docs/troubleshooting.md) | Common errors and corrections |
205205

206206
---
207207

@@ -225,13 +225,13 @@ AI-assisted discoverability.
225225

226226
## Maturity Levels
227227

228-
| Level | Name | Layers | Agent Coverage | Success Rate |
229-
| --- | --- | --- | --- | --- |
230-
| 0 | Infrastructure Ready | Layer 1 | Level 0-1 | 40-65% |
231-
| 1 | Semantically Accessible | Layers 1-2 | Level 0-2 | 55-75% |
232-
| 2 | Data-Rich | Layers 1-3 | Level 0-3 | 65-85% |
233-
| 3 | API-Enabled | Layers 1-4 | Level 0-4 | 80-92% |
234-
| 4 | Agent-Native | Layers 1-5 | All levels | 90-98% |
228+
| Level | Name | Layers | Agent Coverage | Success Rate |
229+
| ----- | ----------------------- | ---------- | -------------- | ------------ |
230+
| 0 | Infrastructure Ready | Layer 1 | Level 0-1 | 40-65% |
231+
| 1 | Semantically Accessible | Layers 1-2 | Level 0-2 | 55-75% |
232+
| 2 | Data-Rich | Layers 1-3 | Level 0-3 | 65-85% |
233+
| 3 | API-Enabled | Layers 1-4 | Level 0-4 | 80-92% |
234+
| 4 | Agent-Native | Layers 1-5 | All levels | 90-98% |
235235

236236
---
237237

@@ -282,15 +282,13 @@ npm test
282282

283283
## License
284284

285-
Licensed under the Apache License 2.0.
286-
See [LICENSE](LICENSE) for full details.
285+
Licensed under the Apache License 2.0. See [LICENSE](LICENSE) for full details.
287286

288287
---
289288

290289
## Author
291290

292-
**Joel Goldfoot**
293-
Design Leader | AI + Human-Agent Interaction Researcher
291+
**Joel Goldfoot** Design Leader | AI + Human-Agent Interaction Researcher
294292

295293
[joel@goldfoot.com](mailto:joel@goldfoot.com)
296294
[linkedin.com/in/joelgoldfoot](https://linkedin.com/in/joelgoldfoot)

docs/compliance-checklist.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ curl -s https://yoursite.com | grep -E '<(main|nav|h1|article)'
2020

2121
**Agent Coverage:** Level 0 (HTTP Retrievers), Level 1 (LLM Browsers)
2222

23-
**Fail = Stop here. Fix rendering strategy first.**
24-
**Pass = Continue with Layer 2 below.**
23+
**Fail = Stop here. Fix rendering strategy first.** **Pass = Continue with Layer
24+
2 below.**
2525

2626
---
2727

@@ -64,8 +64,8 @@ curl -s https://yoursite.com | grep -E '<(main|nav|h1|article)'
6464
- [ ] Semantic HTML elements as primary selectors
6565
- [ ] `data-testid` attributes for testing hooks
6666

67-
**Agent Coverage:** Level 1 (LLM Browsers), Level 2 (Browser Automation),
68-
Level 3 (Vision Agents)
67+
**Agent Coverage:** Level 1 (LLM Browsers), Level 2 (Browser Automation), Level
68+
3 (Vision Agents)
6969

7070
---
7171

@@ -206,13 +206,13 @@ Level 3 (Vision Agents)
206206

207207
### Maturity Levels
208208

209-
| Level | Name | Layers | Agent Coverage | Target |
210-
| ----- | --------------------- | ------- | -------------- | ------ |
211-
| 0 | Infrastructure Ready | Layer 1 | Level 0-1 | 40-65% |
212-
| 1 | Semantically Accessible | Layers 1-2 | Level 0-2 | 55-75% |
213-
| 2 | Data-Rich | Layers 1-3 | Level 0-3 | 65-85% |
214-
| 3 | API-Enabled | Layers 1-4 | Level 0-4 | 80-92% |
215-
| 4 | Agent-Native | Layers 1-5 | All levels | 90-98% |
209+
| Level | Name | Layers | Agent Coverage | Target |
210+
| ----- | ----------------------- | ---------- | -------------- | ------ |
211+
| 0 | Infrastructure Ready | Layer 1 | Level 0-1 | 40-65% |
212+
| 1 | Semantically Accessible | Layers 1-2 | Level 0-2 | 55-75% |
213+
| 2 | Data-Rich | Layers 1-3 | Level 0-3 | 65-85% |
214+
| 3 | API-Enabled | Layers 1-4 | Level 0-4 | 80-92% |
215+
| 4 | Agent-Native | Layers 1-5 | All levels | 90-98% |
216216

217217
### Minimum Requirements by Maturity Level
218218

@@ -228,14 +228,14 @@ Level 3 (Vision Agents)
228228

229229
If upgrading from BiModal Design v2.x, replace custom attributes with standards:
230230

231-
| v2.x Attribute | v3.0 Replacement |
232-
| --------------------------------- | --------------------------------------------- |
233-
| `data-agent-context="product"` | `itemscope itemtype="schema.org/Product"` |
234-
| `data-agent-action="buy"` | `aria-label="Add to cart"` |
235-
| `data-agent-field="price"` | `itemprop="price"` |
236-
| `data-agent-component="nav"` | `<nav aria-label="Main navigation">` |
237-
| `data-agent-intent="checkout"` | `<form aria-label="Checkout" method="POST">` |
238-
| `data-agent-state="loading"` | `aria-busy="true"` |
231+
| v2.x Attribute | v3.0 Replacement |
232+
| ------------------------------ | -------------------------------------------- |
233+
| `data-agent-context="product"` | `itemscope itemtype="schema.org/Product"` |
234+
| `data-agent-action="buy"` | `aria-label="Add to cart"` |
235+
| `data-agent-field="price"` | `itemprop="price"` |
236+
| `data-agent-component="nav"` | `<nav aria-label="Main navigation">` |
237+
| `data-agent-intent="checkout"` | `<form aria-label="Checkout" method="POST">` |
238+
| `data-agent-state="loading"` | `aria-busy="true"` |
239239

240240
---
241241

docs/getting-started.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ your interface works across the full **Agent Capability Spectrum** — from simp
77
HTTP crawlers to protocol-native AI agents.
88

99
Before implementing any patterns, ensure your application meets **FR-1: Initial
10-
Payload Accessibility** — the foundational requirement that content exists in the
11-
server response.
10+
Payload Accessibility** — the foundational requirement that content exists in
11+
the server response.
1212

1313
### Step 1: Check Your Rendering Strategy (Layer 1)
1414

@@ -90,14 +90,14 @@ npx nuxi@latest init my-bimodal-app
9090

9191
Understanding which agents consume your interface helps prioritize layers:
9292

93-
| Level | Agent Type | What They See | Critical Layer |
94-
| ----- | ------------------- | ---------------------- | -------------- |
95-
| 0 | HTTP Retrievers | Raw HTML only | Layer 1 |
96-
| 1 | LLM Browsers | Parsed HTML, no JS | Layer 1-2 |
97-
| 2 | Browser Automation | Full rendered DOM | Layer 2-3 |
98-
| 3 | Vision Agents | Screenshots | Layer 2-3 |
99-
| 4 | Tool-Use Agents | API responses | Layer 4 |
100-
| 5 | Protocol-Native | Protocol data | Layer 5 |
93+
| Level | Agent Type | What They See | Critical Layer |
94+
| ----- | ------------------ | ------------------ | -------------- |
95+
| 0 | HTTP Retrievers | Raw HTML only | Layer 1 |
96+
| 1 | LLM Browsers | Parsed HTML, no JS | Layer 1-2 |
97+
| 2 | Browser Automation | Full rendered DOM | Layer 2-3 |
98+
| 3 | Vision Agents | Screenshots | Layer 2-3 |
99+
| 4 | Tool-Use Agents | API responses | Layer 4 |
100+
| 5 | Protocol-Native | Protocol data | Layer 5 |
101101

102102
## Testing Agent Accessibility
103103

@@ -122,8 +122,8 @@ curl -s https://yoursite.com | grep "main content"
122122
- **Dynamic IDs**`id="btn-xyz123"` breaks agent selectors
123123
- **Visual-only cues** — Color changes without semantic updates
124124
- **Missing labels** — Agents need `aria-label` or explicit labels
125-
- **Custom attributes over standards** — Use `itemprop`, `aria-label`, schema.org
126-
instead of custom `data-agent-*` attributes
125+
- **Custom attributes over standards** — Use `itemprop`, `aria-label`,
126+
schema.org instead of custom `data-agent-*` attributes
127127

128128
## Next Steps
129129

0 commit comments

Comments
 (0)