Repository navigation
CIGE: a test case standard designed for agentic AI — fits naturally with Vibium #139
vivekkrishna
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
I recently wrote about CIGE (Context, Intent, Guardrails, Execution) — a structured test case standard designed for AI agents rather than traditional scripted automation. Reading through the Vibium roadmap, the two fit together naturally and I think it's worth surfacing here.
What CIGE is
CIGE defines a test case as four components:
Context — the operating environment, tools, assumptions, constraints
Intent — the core test objective, independent of execution method
Guardrails — explicit safety boundaries restricting agent autonomy (e.g., "do not submit payment forms")
Execution — suggested workflow steps, treated as guidance not rigid procedure
{
"Context": "",
"Intent": "",
"Guardrails": [],
"Execution": []
}
The core insight: Intent is stable, execution is volatile. Login mechanisms change, UI elements shift, selectors break — but "verify the user can log in" endures. Separating these concerns is what makes agentic testing maintainable.
Full write-up: https://medium.com/@vivek-k-c/cige-an-agentic-ai-test-case-standard-proposed-66d2cdca766f
How it maps onto Vibium
CIGE component | Vibium role
Context | Browser state, current URL, active session
Intent | Natural language passed to vibe.do() / vibe.check()
Guardrails | Boundaries for what the agent can/can't interact with
Execution | The resolution pipeline — a11y tree → annotated screenshot → fallback
Vibium is the execution engine. CIGE is the test case format that drives it.
Why this matters for the roadmap
CIGE's Intent component is a validation objective — "verify the dashboard loaded", "confirm the order was submitted." This can't be satisfied by element location alone. vibe.check() should return pass/fail against an intent, not just find an element. That's a different code path from vibe.find().
CIGE describes three self-healing modes: execution steps regenerated when selectors break (product updates), context adapted when infrastructure changes, guardrails refined to eliminate false positives. The Vibium AI locator pipeline already handles the first one — on cache miss, the resolution pipeline re-derives the selector from intent. CIGE gives that behavior a formal structure.
An agent driving Vibium needs to know what it's not allowed to do. CIGE's Guardrails component is the natural place to express that — and Vibium's MCP interface is the natural place to enforce it.
Open for discussion
Should Vibium natively consume CIGE-formatted test cases, or is that a layer above?
Does vibe.check() become the CIGE assertion primitive?
Is there appetite to define a CIGE-to-Vibium binding as part of V2?
All reactions