File size: 5,411 Bytes
cb87b3d
 
 
 
 
3ed2078
 
ed79a7f
cb87b3d
ed79a7f
 
 
 
cb87b3d
 
 
 
ed79a7f
cb87b3d
ed79a7f
cb87b3d
ed79a7f
cb87b3d
 
 
ed79a7f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2976bd9
ed79a7f
2976bd9
ed79a7f
2976bd9
ed79a7f
2976bd9
ed79a7f
 
 
 
cb87b3d
 
 
3ed2078
cb87b3d
3ed2078
 
2976bd9
3ed2078
2976bd9
 
 
3ed2078
 
 
cb87b3d
3ed2078
 
ed79a7f
3ed2078
 
 
ed79a7f
3ed2078
 
ed79a7f
 
3ed2078
ed79a7f
 
 
 
 
 
 
3ed2078
2976bd9
ed79a7f
 
 
 
3ed2078
ed79a7f
3ed2078
ed79a7f
3ed2078
cb87b3d
 
 
3ed2078
cb87b3d
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
---
language:
- en
license: apache-2.0
tags:
- browser-use
- web-agent
- recurrent-moe
- edge-llm
- lightpanda
- obscura
- multi-agent
- robotics-web
pipeline_tag: text-generation
library_name: transformers
---

# Canopy-258M-R3 v6: Autonomous Tri-Engine Browser Agent & Swarm Coordinator

**Canopy-258M-R3 v6** is a 258.56M parameter Recurrent Mixture-of-Experts (MoE) browser automation agent optimized for high-speed edge navigation, anti-bot stealth, and verified persistence state read-backs.

v6 introduces a modular **Tri-Engine Execution Ecosystem**, an invariant **URL Token Normalization Preprocessor**, and deep syntheses of 2026 frontier multi-agent reasoning literature.

---

## Key Innovations in v6

### 1. Cooperative Tri-Engine Browser Swarm
Modern web navigation presents divergent requirements: speed, visual fidelity, and anti-bot evasion. v6 unifies three specialized engines via `TriEngineSwarmCoordinator`:
- **Lightpanda Engine** (*Headless Zig*): Ultra-fast headless execution (~27.5 MB standalone RSS, ~15ms cold navigation, 2.04x speedup). Deployed for high-throughput initial crawling, link harvesting, and structural AXTree indexing.
- **Obscura Engine** (*Native Rust CDP*): Stealth browser with native TLS fingerprint impersonation, Canvas/Audio spoofing, and native PNG rasterization (~49.3 MB RSS vs ~656 MiB Chromium). Deployed for visual Set-of-Marks grounding and form submissions on protected sites.
- **Chromium Engine**: Desktop Blink fallback for heavy client-side single-page applications.

### 2. URL Token Normalization Preprocessor
As documented in controlled sensitivity evaluations, small language models (258M) exhibit sensitivity to ephemeral address tokens (such as random loopback ports `http://127.0.0.1:40809` vs `http://127.0.0.1:33987`), which alter prompt tokenizations and can divert causal attention. 
v6 implements invariant URL normalization:
$$\text{URL}_{\text{ephemeral}} \to \text{http://app.local/path}$$
The agent reasoning context sees deterministic canonical tokens, while the execution layer resolves targets to live page origins transparently.

### 3. Frontier Multi-Agent Reasoning Syntheses
- **Thought Communication Bus** (*CMU / Meta AI*): Disentangles shared coordination thoughts $\hat{Z}_{\text{shared}}$ from agent-private intent $\hat{Z}_{\text{private}}$, avoiding brittle string serialization.
- **Flow Reasoning Refiner** (*Georgia Tech / MIT, EqR*): Iterative recurrent flow refinement toward stable spatial coordinate attractors, eliminating coordinate hallucinations.
- **Graph Machine DOM Referral Engine** (*Iter Labs*): $O(n)$ referral graph with dynamic 2-hop pointer chasing for $O(1)$ element retrieval.
- **Saved-Record State Verifier**: Explicit goal-purpose/field/value binding and persistent read-back contract, eliminating false completion claims ($18 \to 0$).

---

## Live Performance & Swarm Telemetry

| Engine / Modality | Memory (RSS) | Navigation / Step Latency | Visual Receipts | Anti-Bot Stealth |
| :--- | :---: | :---: | :---: | :---: |
| **Lightpanda (Scraping)** | **27.5 MB** | **~15 - 35 ms (2.04x speedup)** | No (Text Only) | Basic |
| **Obscura (Interactions)** | **49.3 MB** | **~85 - 120 ms** | **Yes (Full PNG SoM)** | **Advanced (Sannysoft 100%)** |
| **Chromium (Baseline)** | 656.0 MiB | ~180 - 320 ms | Yes | Standard CDP |
| **Cooperative Swarm** | **<80 MB combined** | **Optimal Split** | **Yes** | **Active** |

---

## Model Architecture Specifications

| Hyperparameter | Value | Description |
| :--- | :--- | :--- |
| **Total Parameters** | **258,555,654** | Standalone weights with tied embeddings |
| **Active Parameters** | **~112,000,000** | Active parameter compute per token |
| **Recurrent Layers** | **18 effective layers** | 3 Prelude + 6 Recurrent (visited 2x) + 3 Coda |
| **Recurrent Scaling** | **$1/\sqrt{2} \approx 0.7071$** | SMELT recurrence variance stabilization |
| **KV-Cache Engine** | **Prefix Sliding** | 128 prefix tokens + 512 sliding window tokens |
| **MoE Routing** | **Top-2 of 8 Experts** | Dense first 3 layers, MoE middle/coda layers |
| **Context Window** | **2,048 tokens** | RoPE position embeddings |
| **Vocabulary Size** | **49,152** | Byte-level BPE tokenizer (Cosmo-2) |

---

## Quickstart: Python Swarm Inference

```python
import asyncio
from miniswardbower.browser.swarm_coordinator import TriEngineSwarmCoordinator
from miniswardbower.core.schemas import BrowserAction, BrowserActionType

async def run_swarm():
    swarm = TriEngineSwarmCoordinator()
    try:
        # Stage 1: High-speed scraping via Lightpanda (~25ms)
        tree, text = await swarm.scrape_and_index("https://news.ycombinator.com")
        print(f"Indexed {len(tree.elements)} interactive elements via Lightpanda.")

        # Stage 2: Stealth interaction & visual audit via Obscura
        actions = [
            BrowserAction(op=BrowserActionType.TYPE, target="input[name='q']", text="Canopy MoE"),
            BrowserAction(op=BrowserActionType.PRESS, key="Enter")
        ]
        results, receipt = await swarm.visual_interact_and_submit(
            "https://news.ycombinator.com", actions, capture_audit_screenshot=True
        )
        print(f"Executed {len(results)} actions. Visual receipt: {len(receipt)} bytes.")
    finally:
        await swarm.close_all()

asyncio.run(run_swarm())
```

---

## License
Released under the **Apache 2.0** License.