Today, I'm excited to announce the release of the Starlight Protocol Specification v1.0.0βa formal, open standard for building self-healing browser automation systems. This isn't just another testing library. It's a protocolβa contract that defines how autonomous agents coordinate to handle the chaos of modern web applications.
The official logo for the Starlight Protocol.
π¨
The Problem We're Solving
Every automation engineer knows this pain. The button is still there, your code is the sameβbut the environment changed.
// Your test yesterday
await page.click('#submit-btn'); // β
Passed
// Your test today
await page.click('#submit-btn'); // β Failed: Element blocked by cookie banner
Traditional frameworks force you to write defensive codeβ50 if-statements for every possible environmental obstacle. This is madness. Your test should express intent, not handle every possible environmental obstacle.
π‘
The Starlight Solution: Decoupling Intent from Environment
- Pulse Sentinel: Monitors DOM/Network stability
- Janitor Sentinel: Clears popups and modals
- Vision Sentinel: AI-powered obstacle detection
Before every action, the Hub asks ALL Sentinels: 'Is the environment safe?' Only when they ALL agree does the action proceed.
π
Why a Protocol, Not Just a Library?
| Aspect | Library | Protocol |
|---|---|---|
| Language | Single | Any |
| Extensibility | Fork/Change | Add Components |
| Interoperability | Limited | Universal |
| Standardization | None | Formal Spec |
By publishing Starlight as a protocol, we enable Hub implementations in any language, a community-built Sentinel ecosystem, and cross-platform compatibility.
π
What's in the Specification?
The spec defines everything needed to build a compliant implementation: message formats, 12 protocol methods, the handshake lifecycle, and three compliance levels.
{
"jsonrpc": "2.0",
"method": "starlight.pre_check",
"params": {
"command": { "cmd": "click", "selector": "#submit" }
},
"id": "msg-001"
}
| Level | Requirements |
|---|---|
| Level 1 | All core methods |
| Level 2 | + Context, Entropy, Health |
| Level 3 | + Semantic Goals, Self-Healing |
π―
Design Goals
- Zero Configuration: Works out of the box with sensible defaults
- Language Agnostic: Hubs and Sentinels can be built in any language
- Composable: Add or remove Sentinels without changing your tests
π
Get Started
1
Read the Specification
STARLIGHT_PROTOCOL_SPEC_v1.0.0.md
2
Use the Reference Implementation
git clone https://github.com/starlight-protocol/starlight.git && npm install && node src/hub.js
3
Build Your Own Sentinel
Extend SentinelBase and implement your detection logic.
π
Join the Constellation
The stars in the constellation are many, but the intent is one. Contribute Hub implementations in Rust, Go, or Python. Share your community-built Sentinels. Let's build the future of autonomous browser agents together.
β¨
Built with β€οΈ by Dhiraj Das
GitHub: starlight-protocol/starlight

Top comments (0)