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 bannerTraditional 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?
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"
}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
git clone https://github.com/godhiraj-code/cba.git && npm install && node src/hub.jsSentinelBase 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: github.com/godhiraj-code/cba


