Automation
AI
Test Automation
Starlight Part 5: Introducing the Starlight Protocol Specification v1.0.0

Starlight Part 5: Introducing the Starlight Protocol Specification v1.0.0

January 3, 2026 2 min read

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.

Starlight Protocol Logo

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.

Code
// 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?

AspectLibraryProtocol
LanguageSingleAny
ExtensibilityFork/ChangeAdd Components
InteroperabilityLimitedUniversal
StandardizationNoneFormal 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.

Code
{
                "jsonrpc": "2.0",
                "method": "starlight.pre_check",
                "params": {
                    "command": { "cmd": "click", "selector": "#submit" }
                },
                "id": "msg-001"
            }
LevelRequirements
Level 1All 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
2
Use the Reference Implementation
git clone https://github.com/godhiraj-code/cba.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: github.com/godhiraj-code/cba

Dhiraj Das

About the Author

Dhiraj Das | Senior Automation Consultant | 10+ years building test automation that actually works. He transforms flaky, slow regression suites into reliable CI pipelines—designing self-healing frameworks that don't just run tests, but understand them.

Creator of many open-source tools solving what traditional automation can't: waitless (flaky tests), sb-stealth-wrapper (bot detection), selenium-teleport (state persistence), selenium-chatbot-test (AI chatbot testing), lumos-shadowdom (Shadow DOM), and visual-guard (visual regression).

Share this article:

Get In Touch

Interested in collaborating or have a question about my projects? Feel free to reach out. I'm always open to discussing new ideas and opportunities.