mirror of
https://github.com/openclaw/openclaw.git
synced 2026-10-03 01:29:56 +00:00
fix(maturity): make iMessage the active channel identity (#141963)
This commit is contained in:
parent
4e3d22e6f6
commit
2bb684a68a
7 changed files with 45 additions and 29 deletions
|
|
@ -1,12 +1,17 @@
|
|||
# iMessage / BlueBubbles Completeness
|
||||
# iMessage Completeness
|
||||
|
||||
Use this rubric when assigning category Completeness scores for the
|
||||
`imessage-bluebubbles` surface.
|
||||
|
||||
## Category Scope
|
||||
|
||||
- Channel Setup and Operations: Translate legacy config, Cut over safely, Handle migration caveats, Run local imsg, Run through SSH wrapper, Grant macOS permissions, Probe runtime health, Account setup prompts, Account status checks, Doctor repair checks, Account Config, Translate legacy config, Cut over safely, Handle migration caveats, Run local imsg, Run through SSH wrapper, Grant macOS permissions, Probe runtime health
|
||||
- Access and Identity: Authorize direct senders, Route direct conversations, Bind ACP sessions, Group Policy, Mentions, System Prompts, Group Policy, Mentions, System Prompts
|
||||
- Conversation Routing and Delivery: Watch live messages, Coalesce split-send DMs, Replay missed messages, Seed conversation history, Authorize direct senders, Route direct conversations, Bind ACP sessions, Group Policy, Mentions, System Prompts
|
||||
- Channel Setup and Operations: Translate legacy config, Cut over safely, Handle migration caveats, Run local imsg, Run through SSH wrapper, Grant macOS permissions, Probe runtime health, Account setup prompts, Account status checks, Doctor repair checks, Account Config
|
||||
- Access and Identity: Authorize direct senders, Route direct conversations, Bind ACP sessions, Group Policy, Mentions, System Prompts
|
||||
- Conversation Routing and Delivery: Watch live messages, Coalesce split-send DMs, Replay missed messages, Seed conversation history
|
||||
- Media and Rich Content: Media, Attachments, Remote Fetch, Chunking, Native Actions, Private API, Message Tool
|
||||
- Native Controls and Approvals: Native Approvals, Reactions, Operator Control, Media, Attachments, Remote Fetch, Chunking, Native Actions, Private API, Message Tool, Native Actions, Private API, Message Tool
|
||||
- Native Controls and Approvals: Native Approvals, Reactions, Operator Control
|
||||
|
||||
## Surface-Specific Guidance
|
||||
|
||||
- Score `imsg` as the active iMessage transport. BlueBubbles is removed and counts only as a bounded migration workflow under Channel Setup and Operations.
|
||||
- Keep the stable `imessage-bluebubbles` surface and coverage namespace for compatibility with historical evidence; do not interpret that identifier as an active product name.
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ Surfaces are ordered by maturity level, completeness, and quality. LTS support i
|
|||
<div className="maturity-surface-row"><a className="maturity-surface-name" href="/maturity/taxonomy#telegram"><span className="maturity-surface-title">Telegram</span><span className="maturity-surface-meta"><span className="maturity-level-pill maturity-level-beta"><span className="maturity-level-code">M3</span><span>Beta</span></span><span>5 areas</span></span></a><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Coverage</span><span className="maturity-score maturity-score-experimental"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-experimental">Experimental</span><span>9%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "9%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Quality</span><span className="maturity-score maturity-score-alpha"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-alpha">Alpha</span><span>68%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "68%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Completeness</span><span className="maturity-score maturity-score-beta"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-beta">Beta</span><span>78%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "78%" }} /></span></span></div><div className="maturity-surface-support"><span className="maturity-lts maturity-lts-full">Full - 5</span></div></div>
|
||||
<div className="maturity-surface-row"><a className="maturity-surface-name" href="/maturity/taxonomy#slack"><span className="maturity-surface-title">Slack</span><span className="maturity-surface-meta"><span className="maturity-level-pill maturity-level-beta"><span className="maturity-level-code">M3</span><span>Beta</span></span><span>5 areas</span></span></a><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Coverage</span><span className="maturity-score maturity-score-experimental"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-experimental">Experimental</span><span>38%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "38%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Quality</span><span className="maturity-score maturity-score-alpha"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-alpha">Alpha</span><span>66%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "66%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Completeness</span><span className="maturity-score maturity-score-beta"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-beta">Beta</span><span>78%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "78%" }} /></span></span></div><div className="maturity-surface-support"><span className="maturity-lts maturity-lts-full">Full - 5</span></div></div>
|
||||
<div className="maturity-surface-row"><a className="maturity-surface-name" href="/maturity/taxonomy#google-provider-path"><span className="maturity-surface-title">Google provider path</span><span className="maturity-surface-meta"><span className="maturity-level-pill maturity-level-beta"><span className="maturity-level-code">M3</span><span>Beta</span></span><span>5 areas</span></span></a><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Coverage</span><span className="maturity-score maturity-score-experimental"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-experimental">Experimental</span><span>0%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "0%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Quality</span><span className="maturity-score maturity-score-alpha"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-alpha">Alpha</span><span>66%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "66%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Completeness</span><span className="maturity-score maturity-score-beta"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-beta">Beta</span><span>78%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "78%" }} /></span></span></div><div className="maturity-surface-support"><span className="maturity-lts maturity-lts-none">None</span></div></div>
|
||||
<div className="maturity-surface-row"><a className="maturity-surface-name" href="/maturity/taxonomy#imessage-and-bluebubbles"><span className="maturity-surface-title">iMessage and BlueBubbles</span><span className="maturity-surface-meta"><span className="maturity-level-pill maturity-level-beta"><span className="maturity-level-code">M3</span><span>Beta</span></span><span>5 areas</span></span></a><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Coverage</span><span className="maturity-score maturity-score-experimental"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-experimental">Experimental</span><span>0%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "0%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Quality</span><span className="maturity-score maturity-score-alpha"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-alpha">Alpha</span><span>66%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "66%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Completeness</span><span className="maturity-score maturity-score-beta"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-beta">Beta</span><span>78%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "78%" }} /></span></span></div><div className="maturity-surface-support"><span className="maturity-lts maturity-lts-none">None</span></div></div>
|
||||
<div className="maturity-surface-row"><a className="maturity-surface-name" href="/maturity/taxonomy#imessage"><span className="maturity-surface-title">iMessage</span><span className="maturity-surface-meta"><span className="maturity-level-pill maturity-level-beta"><span className="maturity-level-code">M3</span><span>Beta</span></span><span>5 areas</span></span></a><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Coverage</span><span className="maturity-score maturity-score-experimental"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-experimental">Experimental</span><span>0%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "0%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Quality</span><span className="maturity-score maturity-score-alpha"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-alpha">Alpha</span><span>66%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "66%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Completeness</span><span className="maturity-score maturity-score-beta"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-beta">Beta</span><span>78%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "78%" }} /></span></span></div><div className="maturity-surface-support"><span className="maturity-lts maturity-lts-none">None</span></div></div>
|
||||
<div className="maturity-surface-row"><a className="maturity-surface-name" href="/maturity/taxonomy#macos-companion-app"><span className="maturity-surface-title">macOS companion app</span><span className="maturity-surface-meta"><span className="maturity-level-pill maturity-level-beta"><span className="maturity-level-code">M3</span><span>Beta</span></span><span>8 areas</span></span></a><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Coverage</span><span className="maturity-score maturity-score-experimental"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-experimental">Experimental</span><span>0%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "0%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Quality</span><span className="maturity-score maturity-score-alpha"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-alpha">Alpha</span><span>66%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "66%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Completeness</span><span className="maturity-score maturity-score-beta"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-beta">Beta</span><span>78%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "78%" }} /></span></span></div><div className="maturity-surface-support"><span className="maturity-lts maturity-lts-none">None</span></div></div>
|
||||
<div className="maturity-surface-row"><a className="maturity-surface-name" href="/maturity/taxonomy#openrouter-provider-path"><span className="maturity-surface-title">OpenRouter provider path</span><span className="maturity-surface-meta"><span className="maturity-level-pill maturity-level-beta"><span className="maturity-level-code">M3</span><span>Beta</span></span><span>4 areas</span></span></a><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Coverage</span><span className="maturity-score maturity-score-experimental"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-experimental">Experimental</span><span>0%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "0%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Quality</span><span className="maturity-score maturity-score-alpha"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-alpha">Alpha</span><span>66%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "66%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Completeness</span><span className="maturity-score maturity-score-beta"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-beta">Beta</span><span>78%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "78%" }} /></span></span></div><div className="maturity-surface-support"><span className="maturity-lts maturity-lts-none">None</span></div></div>
|
||||
<div className="maturity-surface-row"><a className="maturity-surface-name" href="/maturity/taxonomy#whatsapp"><span className="maturity-surface-title">WhatsApp</span><span className="maturity-surface-meta"><span className="maturity-level-pill maturity-level-beta"><span className="maturity-level-code">M3</span><span>Beta</span></span><span>5 areas</span></span></a><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Coverage</span><span className="maturity-score maturity-score-experimental"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-experimental">Experimental</span><span>0%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "0%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Quality</span><span className="maturity-score maturity-score-alpha"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-alpha">Alpha</span><span>66%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "66%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Completeness</span><span className="maturity-score maturity-score-beta"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-beta">Beta</span><span>78%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "78%" }} /></span></span></div><div className="maturity-surface-support"><span className="maturity-lts maturity-lts-none">None</span></div></div>
|
||||
|
|
@ -154,7 +154,7 @@ Surfaces are ordered by maturity level, completeness, and quality. LTS support i
|
|||
<div className="maturity-surface-row"><a className="maturity-surface-name" href="/maturity/taxonomy#discord"><span className="maturity-surface-title">Discord</span><span className="maturity-surface-meta"><span className="maturity-level-pill maturity-level-stable"><span className="maturity-level-code">M4</span><span>Stable</span></span><span>6 areas</span></span></a><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Coverage</span><span className="maturity-score maturity-score-experimental"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-experimental">Experimental</span><span>28%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "28%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Quality</span><span className="maturity-score maturity-score-beta"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-beta">Beta</span><span>73%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "73%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Completeness</span><span className="maturity-score maturity-score-stable"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-stable">Stable</span><span>87%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "87%" }} /></span></span></div><div className="maturity-surface-support"><span className="maturity-lts maturity-lts-partial">Partial - 4</span></div></div>
|
||||
<div className="maturity-surface-row"><a className="maturity-surface-name" href="/maturity/taxonomy#telegram"><span className="maturity-surface-title">Telegram</span><span className="maturity-surface-meta"><span className="maturity-level-pill maturity-level-beta"><span className="maturity-level-code">M3</span><span>Beta</span></span><span>5 areas</span></span></a><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Coverage</span><span className="maturity-score maturity-score-experimental"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-experimental">Experimental</span><span>9%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "9%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Quality</span><span className="maturity-score maturity-score-alpha"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-alpha">Alpha</span><span>68%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "68%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Completeness</span><span className="maturity-score maturity-score-beta"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-beta">Beta</span><span>78%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "78%" }} /></span></span></div><div className="maturity-surface-support"><span className="maturity-lts maturity-lts-full">Full - 5</span></div></div>
|
||||
<div className="maturity-surface-row"><a className="maturity-surface-name" href="/maturity/taxonomy#slack"><span className="maturity-surface-title">Slack</span><span className="maturity-surface-meta"><span className="maturity-level-pill maturity-level-beta"><span className="maturity-level-code">M3</span><span>Beta</span></span><span>5 areas</span></span></a><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Coverage</span><span className="maturity-score maturity-score-experimental"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-experimental">Experimental</span><span>38%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "38%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Quality</span><span className="maturity-score maturity-score-alpha"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-alpha">Alpha</span><span>66%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "66%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Completeness</span><span className="maturity-score maturity-score-beta"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-beta">Beta</span><span>78%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "78%" }} /></span></span></div><div className="maturity-surface-support"><span className="maturity-lts maturity-lts-full">Full - 5</span></div></div>
|
||||
<div className="maturity-surface-row"><a className="maturity-surface-name" href="/maturity/taxonomy#imessage-and-bluebubbles"><span className="maturity-surface-title">iMessage and BlueBubbles</span><span className="maturity-surface-meta"><span className="maturity-level-pill maturity-level-beta"><span className="maturity-level-code">M3</span><span>Beta</span></span><span>5 areas</span></span></a><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Coverage</span><span className="maturity-score maturity-score-experimental"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-experimental">Experimental</span><span>0%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "0%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Quality</span><span className="maturity-score maturity-score-alpha"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-alpha">Alpha</span><span>66%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "66%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Completeness</span><span className="maturity-score maturity-score-beta"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-beta">Beta</span><span>78%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "78%" }} /></span></span></div><div className="maturity-surface-support"><span className="maturity-lts maturity-lts-none">None</span></div></div>
|
||||
<div className="maturity-surface-row"><a className="maturity-surface-name" href="/maturity/taxonomy#imessage"><span className="maturity-surface-title">iMessage</span><span className="maturity-surface-meta"><span className="maturity-level-pill maturity-level-beta"><span className="maturity-level-code">M3</span><span>Beta</span></span><span>5 areas</span></span></a><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Coverage</span><span className="maturity-score maturity-score-experimental"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-experimental">Experimental</span><span>0%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "0%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Quality</span><span className="maturity-score maturity-score-alpha"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-alpha">Alpha</span><span>66%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "66%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Completeness</span><span className="maturity-score maturity-score-beta"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-beta">Beta</span><span>78%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "78%" }} /></span></span></div><div className="maturity-surface-support"><span className="maturity-lts maturity-lts-none">None</span></div></div>
|
||||
<div className="maturity-surface-row"><a className="maturity-surface-name" href="/maturity/taxonomy#whatsapp"><span className="maturity-surface-title">WhatsApp</span><span className="maturity-surface-meta"><span className="maturity-level-pill maturity-level-beta"><span className="maturity-level-code">M3</span><span>Beta</span></span><span>5 areas</span></span></a><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Coverage</span><span className="maturity-score maturity-score-experimental"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-experimental">Experimental</span><span>0%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "0%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Quality</span><span className="maturity-score maturity-score-alpha"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-alpha">Alpha</span><span>66%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "66%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Completeness</span><span className="maturity-score maturity-score-beta"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-beta">Beta</span><span>78%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "78%" }} /></span></span></div><div className="maturity-surface-support"><span className="maturity-lts maturity-lts-none">None</span></div></div>
|
||||
<div className="maturity-surface-row"><a className="maturity-surface-name" href="/maturity/taxonomy#matrix"><span className="maturity-surface-title">Matrix</span><span className="maturity-surface-meta"><span className="maturity-level-pill maturity-level-alpha"><span className="maturity-level-code">M2</span><span>Alpha</span></span><span>6 areas</span></span></a><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Coverage</span><span className="maturity-score maturity-score-alpha"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-alpha">Alpha</span><span>67%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "67%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Quality</span><span className="maturity-score maturity-score-alpha"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-alpha">Alpha</span><span>60%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "60%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Completeness</span><span className="maturity-score maturity-score-alpha"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-alpha">Alpha</span><span>67%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "67%" }} /></span></span></div><div className="maturity-surface-support"><span className="maturity-lts maturity-lts-none">None</span></div></div>
|
||||
<div className="maturity-surface-row"><a className="maturity-surface-name" href="/maturity/taxonomy#google-chat"><span className="maturity-surface-title">Google Chat</span><span className="maturity-surface-meta"><span className="maturity-level-pill maturity-level-alpha"><span className="maturity-level-code">M2</span><span>Alpha</span></span><span>5 areas</span></span></a><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Coverage</span><span className="maturity-score maturity-score-experimental"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-experimental">Experimental</span><span>0%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "0%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Quality</span><span className="maturity-score maturity-score-alpha"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-alpha">Alpha</span><span>59%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "59%" }} /></span></span></div><div className="maturity-surface-metric"><span className="maturity-surface-metric-label">Completeness</span><span className="maturity-score maturity-score-alpha"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-alpha">Alpha</span><span>66%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "66%" }} /></span></span></div><div className="maturity-surface-support"><span className="maturity-lts maturity-lts-none">None</span></div></div>
|
||||
|
|
@ -1095,7 +1095,7 @@ Open a surface to inspect the evidence state of each category. The list stays co
|
|||
</div>
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="iMessage and BlueBubbles - 5 areas">
|
||||
<Accordion title="iMessage - 5 areas">
|
||||
<p className="maturity-readiness-summary">5 needs review</p>
|
||||
<div className="maturity-readiness-list">
|
||||
<div className="maturity-readiness-row maturity-readiness-row-header"><span>Area</span><span>Features / coverage IDs</span><span>Follow-up</span></div>
|
||||
|
|
|
|||
|
|
@ -200,8 +200,8 @@ A surface is a product area such as Gateway runtime, Discord, or the macOS app.
|
|||
<span className="maturity-surface-meta"><span className="maturity-level-pill maturity-level-beta"><span className="maturity-level-code">M3</span><span>Beta</span></span><span>5 areas - 78% complete</span></span>
|
||||
</a>
|
||||
|
||||
<a className="maturity-surface-link" href="#imessage-and-bluebubbles">
|
||||
<span className="maturity-surface-title">iMessage and BlueBubbles</span>
|
||||
<a className="maturity-surface-link" href="#imessage">
|
||||
<span className="maturity-surface-title">iMessage</span>
|
||||
<span className="maturity-surface-meta"><span className="maturity-level-pill maturity-level-beta"><span className="maturity-level-code">M3</span><span>Beta</span></span><span>5 areas - 78% complete</span></span>
|
||||
</a>
|
||||
|
||||
|
|
@ -3487,10 +3487,11 @@ A surface is a product area such as Gateway runtime, Discord, or the macOS app.
|
|||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="iMessage and BlueBubbles - M3 Beta - 5 areas">
|
||||
<Accordion title="iMessage - M3 Beta - 5 areas">
|
||||
<a id="imessage" />
|
||||
<a id="imessage-and-bluebubbles" />
|
||||
|
||||
Supported iMessage runs through imsg on a signed-in macOS Messages host; legacy BlueBubbles configs require migration. Keep macOS permissions, SSH wrapper, SIP/private API, and migration caveats visible.
|
||||
Supported iMessage runs through imsg on a signed-in macOS Messages host. Keep macOS permissions, SSH wrapper, SIP/private API, and legacy BlueBubbles migration caveats visible without presenting the removed transport as an active channel.
|
||||
|
||||
<div className="maturity-surface-rollup"><span>Coverage Experimental - 0%</span><span>Quality Alpha - 66%</span><span>Completeness Beta - 78%</span><span><span className="maturity-lts maturity-lts-none">None</span></span></div>
|
||||
|
||||
|
|
@ -3520,7 +3521,7 @@ A surface is a product area such as Gateway runtime, Discord, or the macOS app.
|
|||
<div><span className="maturity-score maturity-score-beta"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-beta">Beta</span><span>78%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "78%" }} /></span></span></div>
|
||||
<div className="maturity-category-docs">
|
||||
|
||||
[iMessage](/channels/imessage), [Imessage From Bluebubbles](/channels/imessage-from-bluebubbles), [Config Channels](/gateway/config-channels)
|
||||
[iMessage](/channels/imessage), [Config Channels](/gateway/config-channels)
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -3548,7 +3549,7 @@ A surface is a product area such as Gateway runtime, Discord, or the macOS app.
|
|||
<div><span className="maturity-score maturity-score-beta"><span className="maturity-score-label"><span className="maturity-level-pill maturity-level-beta">Beta</span><span>78%</span></span><span className="maturity-meter" aria-hidden="true"><span style={{ width: "78%" }} /></span></span></div>
|
||||
<div className="maturity-category-docs">
|
||||
|
||||
[iMessage](/channels/imessage), [Imessage From Bluebubbles](/channels/imessage-from-bluebubbles), [Config Channels](/gateway/config-channels)
|
||||
[iMessage](/channels/imessage), [Config Channels](/gateway/config-channels)
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -3067,7 +3067,7 @@ surfaces:
|
|||
reason: human_override
|
||||
human_override: true
|
||||
- id: imessage-bluebubbles
|
||||
name: iMessage and BlueBubbles
|
||||
name: iMessage
|
||||
family: channel
|
||||
level:
|
||||
id: beta
|
||||
|
|
|
|||
|
|
@ -204,6 +204,10 @@ function markdownSlug(value: string): string {
|
|||
.replace(/^-|-$/g, "");
|
||||
}
|
||||
|
||||
const legacySurfaceAnchors: Readonly<Record<string, readonly string[]>> = {
|
||||
"imessage-bluebubbles": ["imessage-and-bluebubbles"],
|
||||
};
|
||||
|
||||
function normalizeRoutePath(route: string): string {
|
||||
return route.replace(/^\/+/, "").replace(/\/+$/, "");
|
||||
}
|
||||
|
|
@ -1158,6 +1162,7 @@ function renderTaxonomy({
|
|||
lines.push(
|
||||
` <Accordion title="${markdownEscape(surfaceName)} - ${markdownEscape(levelText(surface, levels))} - ${surface.categories.length} areas">`,
|
||||
` <a id="${markdownSlug(surfaceName)}" />`,
|
||||
...(legacySurfaceAnchors[surface.id] ?? []).map((anchor) => ` <a id="${anchor}" />`),
|
||||
"",
|
||||
` ${markdownEscape(surface.rationale ?? "")}`,
|
||||
"",
|
||||
|
|
|
|||
|
|
@ -8418,11 +8418,11 @@ surfaces:
|
|||
source_ref: null
|
||||
process_version: 3
|
||||
- id: imessage-bluebubbles
|
||||
name: iMessage and BlueBubbles
|
||||
name: iMessage
|
||||
family: channel
|
||||
level: beta
|
||||
level_code: M3
|
||||
rationale: Supported iMessage runs through imsg on a signed-in macOS Messages host; legacy BlueBubbles configs require migration. Keep macOS permissions, SSH wrapper, SIP/private API, and migration caveats visible.
|
||||
rationale: Supported iMessage runs through imsg on a signed-in macOS Messages host. Keep macOS permissions, SSH wrapper, SIP/private API, and legacy BlueBubbles migration caveats visible without presenting the removed transport as an active channel.
|
||||
completeness_instructions: references/completeness/imessage-bluebubbles.md
|
||||
categories:
|
||||
- name: Channel Setup and Operations
|
||||
|
|
@ -8451,13 +8451,13 @@ surfaces:
|
|||
description: Covers Probe runtime health across local and remote `imsg rpc`, `cliPath`, `dbPath`, `remoteHost`, and related imsg transport, host requirements, and permissions behavior.
|
||||
- name: Account setup prompts
|
||||
coverageIds: [imessage-bluebubbles.account-setup-prompts]
|
||||
description: Covers setup prompts, policy writes, account merging, default account selection, and account configuration behavior for iMessage/BlueBubbles.
|
||||
description: Covers setup prompts, policy writes, account merging, default account selection, and account configuration behavior for iMessage.
|
||||
- name: Account status checks
|
||||
coverageIds: [imessage-bluebubbles.account-status-checks]
|
||||
description: Covers account status output, setup state, account merging, and default account selection for iMessage/BlueBubbles.
|
||||
description: Covers account status output, setup state, account merging, and default account selection for iMessage.
|
||||
- name: Doctor repair checks
|
||||
coverageIds: [imessage-bluebubbles.doctor-repair-checks]
|
||||
description: Covers doctor checks, setup repair prompts, and policy verification for iMessage/BlueBubbles account configuration.
|
||||
description: Covers doctor checks, setup repair prompts, and policy verification for iMessage account configuration.
|
||||
- name: Account Config
|
||||
coverageIds: [imessage-bluebubbles.account-config]
|
||||
description: Covers Account Config across setup prompts, policy writes, account merging, default account selection, and related setup, status, doctor, and account config behavior.
|
||||
|
|
@ -8479,7 +8479,7 @@ surfaces:
|
|||
- account status
|
||||
- doctor checks
|
||||
- Account Config
|
||||
- imessage / bluebubbles setup, status, doctor, and account config
|
||||
- iMessage setup, status, doctor, and account config
|
||||
- setup, status, doctor, and account config
|
||||
category_note: setup-status-doctor-and-account-config.md
|
||||
human_lts_override: false
|
||||
|
|
@ -8506,7 +8506,6 @@ surfaces:
|
|||
description: Covers System Prompts across `groupPolicy`, `groupAllowFrom`, `groups`, wildcard registry entries, `requireMention`, mention patterns, per-group tools, per-group system prompts, group sessions, and warnings for allowlist misconfiguration.
|
||||
docs:
|
||||
- docs/channels/imessage.md
|
||||
- docs/channels/imessage-from-bluebubbles.md
|
||||
- docs/gateway/config-channels.md
|
||||
search_anchors:
|
||||
- Authorize direct senders
|
||||
|
|
@ -8515,7 +8514,7 @@ surfaces:
|
|||
- Group Policy
|
||||
- Mentions
|
||||
- System Prompts
|
||||
- imessage / bluebubbles group policy, mentions, and system prompts
|
||||
- iMessage group policy, mentions, and system prompts
|
||||
- group policy, mentions, and system prompts
|
||||
category_note: dm-pairing-access-and-session-routing.md
|
||||
human_lts_override: false
|
||||
|
|
@ -8569,19 +8568,18 @@ surfaces:
|
|||
description: Covers Message Tool across private API probing, action availability, action config gates, tapback mapping, edit/unsend/reply/effects/group management, `send-rich --file`, message-tool visibility/target grammar, and action dispatch errors.
|
||||
docs:
|
||||
- docs/channels/imessage.md
|
||||
- docs/channels/imessage-from-bluebubbles.md
|
||||
- docs/gateway/config-channels.md
|
||||
search_anchors:
|
||||
- Media
|
||||
- Attachments
|
||||
- Remote Fetch
|
||||
- Chunking
|
||||
- imessage / bluebubbles media, attachments, remote fetch, and chunking
|
||||
- iMessage media, attachments, remote fetch, and chunking
|
||||
- media, attachments, remote fetch, and chunking
|
||||
- Native Actions
|
||||
- Private API
|
||||
- Message Tool
|
||||
- imessage / bluebubbles native actions, private api, and message tool
|
||||
- iMessage native actions, private api, and message tool
|
||||
- native actions, private api, and message tool
|
||||
category_note: media-attachments-remote-fetch-and-chunking.md
|
||||
human_lts_override: false
|
||||
|
|
@ -8603,15 +8601,15 @@ surfaces:
|
|||
- Native Approvals
|
||||
- Reactions
|
||||
- Operator Control
|
||||
- imessage / bluebubbles native approvals, reactions, and operator control
|
||||
- iMessage native approvals, reactions, and operator control
|
||||
- native approvals, reactions, and operator control
|
||||
category_note: native-approvals-reactions-and-operator-control.md
|
||||
human_lts_override: false
|
||||
last_score_run:
|
||||
status: complete
|
||||
completed_at: "2026-05-30"
|
||||
completed_at: "2026-09-08"
|
||||
by: codex
|
||||
source_ref: null
|
||||
source_ref: openclaw@19537f3e957ce8720cfdf22a35e7f0bb3e6b7741
|
||||
process_version: 3
|
||||
- id: signal
|
||||
name: Signal
|
||||
|
|
|
|||
|
|
@ -440,6 +440,13 @@ describe("maturity docs renderer CLI", () => {
|
|||
expect(taxonomy).not.toMatch(
|
||||
/<div className="maturity-category-docs">[^\n]*\[[^\n]+\]\([^)]+\)[^\n]*<\/div>/,
|
||||
);
|
||||
const taxonomyDocument = parseDocsDocument(taxonomy);
|
||||
for (const id of ["imessage", "imessage-and-bluebubbles"]) {
|
||||
expect(
|
||||
taxonomyDocument.ids.filter((candidate: string) => candidate === id),
|
||||
id,
|
||||
).toHaveLength(1);
|
||||
}
|
||||
for (const [markdown, id] of [
|
||||
[scorecard, "surface-explorer"],
|
||||
[taxonomy, "product-areas"],
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue