-
-
Searcharis — an autonomous search regression guardian that watches deployments and verifies recovery.
-
Event-driven Searcharis architecture: Cloud Run, Pub/Sub, Firestore, Cloud Tasks, ADK + Gemini, guarded GitHub actions.
-
Live Google Cloud deployment: Searcharis ingress, private worker, and deterministic demo target on Cloud Run.
-
Fresh external verification proves recovery, posts the evidence, and closes the incident automatically.
-
Searcharis detects seo.missing_title and autonomously opens one evidence-backed GitHub incident.
Inspiration
A deployment can look healthy while quietly breaking something search engines depend on: a title, canonical, structured data, or another search-facing signal.
I kept running into the same post-deploy chore: check the live site, diagnose what changed, open the right follow-up, then remember to verify the fix later.
Searcharis turns that manual loop into an autonomous workflow.
What it does
Searcharis watches successful website deployments, audits the live page, and uses Gemini to interpret the resulting evidence.
If the evidence indicates a material search regression, a deterministic policy layer decides whether Searcharis may open a GitHub issue. The workflow then continues in the background and closes that issue only after a fresh external audit proves the original finding is gone.
No chat loop. No human moving the workflow forward step by step.
How we built it
A signed deployment event reaches a public Cloud Run ingress service and is published to Pub/Sub for asynchronous processing by a private worker.
The worker collects read-only webpage evidence, stores durable workflow state in Firestore, and uses Google ADK with Gemini 3.7 Flash on Vertex AI for diagnosis. Deterministic policy code controls whether GitHub may be mutated, while Cloud Tasks handles delayed re-verification.
The GitHub integration is deliberately narrow: create an issue, comment on it, or close it.
Deployment uses keyless GitHub OIDC with Google Cloud Workload Identity Federation, Secret Manager, bounded Cloud Run resources, Pub/Sub retry and backoff, and a dead-letter path.
The Web Validator MCP used for webpage auditing existed before the hackathon and is used only as a read-only external dependency. All Searcharis orchestration, ADK and Gemini logic, Google Cloud workflow, persistence, policy enforcement, GitHub incident lifecycle, verification system, and demo target were built during the hackathon.
Challenges we ran into
Detecting a missing title was the easy part. The hard part was making autonomous side effects safe.
Retries can arrive twice. A process can fail after GitHub accepts a request but before the worker records success. Verification can use stale evidence. A model can be wrong.
We addressed those failure modes with stable idempotency keys, leased side effects with reconciliation, immutable evidence, durable workflow state, and a policy layer that fails closed.
Accomplishments that we're proud of
The unit and integration suite includes 200-way concurrent duplicate deployment deliveries and 200-way concurrent recovery verification tests, alongside failure and authorization cases around the incident lifecycle.
The production Google Cloud deployment also passed a live end-to-end proof: 5 identical Pub/Sub events produced exactly 1 incident and 1 GitHub issue. After healthy traffic was restored, Searcharis collected fresh evidence, verified recovery, posted the verification result, and resolved the incident automatically.
The strongest invariant is simple: Gemini can recommend recovery, but it cannot close an incident by itself.
What we learned
The useful boundary in a production agent is not AI versus normal code. It is interpretation versus authority.
Gemini is good at interpreting changing evidence and context. External side effects are safer behind a small deterministic policy layer, with fresh evidence deciding when the workflow is actually complete.
That separation also made retries, recovery, idempotency, and observability much easier to reason about.
What's next for Searcharis
The same pattern can extend beyond search regressions to other post-deployment contracts: accessibility, security headers, API compatibility, and performance budgets.
For now, the focus is deliberately narrow: detect one class of production regression well, act safely, and prove recovery before declaring success.
Built With
- cloud-run
- cloud-tasks
- docker
- fastapi
- firestore
- gemini-3.7-flash
- github-actions
- github-api
- google-adk
- google-cloud
- mcp
- pub-sub
- python
- secret-manager
- vertex-ai
- workload-identity-federation


Log in or sign up for Devpost to join the conversation.