Inspiration

Ground-handling compliance is a high-stakes workflow: regulatory changes must be identified, verified and interpreted correctly, but an AI system should never silently become the compliance authority.

We built Agentic Ground Handling Assurance to demonstrate a safer agentic pattern: use AI where it adds value, while keeping evidence verification and the final compliance decision outside the LLM.

What it does

Agentic Ground Handling Assurance monitors a tightly scoped official EU regulatory source and decides whether there is new verified evidence that requires analysis.

The workflow:

  1. Acquires official regulatory evidence from the EU Publications Office CELLAR service.
  2. Verifies provenance, HTTPS transport, regulatory anchors and SHA-256 integrity using deterministic Python.
  3. Compares verified evidence with persisted state in Firestore.
  4. Invokes a Google ADK LlmAgent with Gemini 3.5 Flash on Vertex AI only when verified evidence requires impact analysis.
  5. Separates model output into FACT, INFERENCE and UNKNOWN.
  6. Passes the result through a deterministic non-LLM gate.
  7. Requires Human Review before any compliance decision can become authoritative.
  8. Persists run state and review state in Firestore.

Live Watch Mode

Watch Mode is deployed on Google Cloud Run with Firestore persistence.

On 2026-08-30 we demonstrated both sides of the agentic decision loop in the live production service.

Verified change

A real Watch request for:

cellar:32025R0020R02

produced:

  • verification_status = VERIFIED
  • outcome = CHANGE_VERIFIED
  • gemini_invoked = true
  • human_review_required = true
  • state_backend = firestore
  • persisted = true

The verified change therefore caused the agent to proceed to Gemini impact analysis while preserving mandatory Human Review.

No change

A subsequent Watch check against the same verified SHA produced:

  • outcome = NO_CHANGE
  • gemini_invoked = false

No new evidence meant no Gemini invocation and no unnecessary analysis.

This is the core agentic behavior we wanted to demonstrate:

act when verified state changes; abstain when nothing has changed.

Watch Mode is currently triggered manually through the /watch endpoint or the WATCH button. The hackathon prototype does not claim an autonomous scheduler or a universal crawler.

What makes it agentic

The system does more than send a document to an LLM.

It observes external regulatory evidence, verifies whether that evidence is trustworthy, compares it with persistent state, decides whether further analysis is warranted, selectively invokes Gemini, records the resulting state, and stops when no action is necessary.

The model is therefore one component inside a controlled decision loop rather than the authority controlling the loop.

How we built it

The application is built in Python with:

  • Google Agent Development Kit (ADK)
  • Gemini 3.5 Flash through Vertex AI
  • Google Cloud Run
  • Google Cloud Firestore
  • FastAPI
  • Deterministic Python verification and gating
  • Official EU CELLAR regulatory sources

The live HTTP path uses Google ADK for the Impact stage only after evidence has been independently verified.

Evidence acquisition, evidence verification, change detection and the final authority gate remain outside the LLM.

Fail-closed by design

One of the most important lessons came from an early live test.

An EUR-Lex HTML request returned HTTP 202 with an anti-bot page. The payload had a valid hash, so a weaker verification rule could have incorrectly treated it as verified regulatory evidence.

We changed the architecture to fail closed.

The current workflow uses the official Publications Office CELLAR chain, binds the regulatory resource to CELEX 32025R0020R(02), retrieves the English XHTML publication stream over HTTPS, preserves the raw bytes for hashing, and verifies regulatory content before Gemini is allowed to analyse it.

If acquisition or verification fails, Gemini is not called and the Impact result becomes UNKNOWN-only.

There is no direct GenAI fallback.

Safety and authority

Gemini is never the final compliance authority.

The system deliberately separates:

  • evidence acquisition from evidence verification,
  • regulatory facts from inference,
  • model analysis from compliance authority,
  • verified evidence from merely well-formed data,
  • missing applicability information from guessed answers.

A deterministic non-LLM gate sits after model analysis, and Human Review remains mandatory.

The system fails closed rather than silently converting uncertainty into a compliance decision.

Firestore concurrency

We also tested the live Firestore coordination layer under contention.

Production tests demonstrated correct behavior for:

  • same-hash contention,
  • stale-owner protection,
  • phase fencing,
  • different-hash contention,
  • missing-document handling.

A real Firestore retry was observed on a losing claimant.

We intentionally do not claim that every distributed-systems failure mode has been proven live. Winning-claimant retry-token stability and ambiguous transaction outcome recovery remain outside the demonstrated evidence.

Challenges

The hardest problem was not generating regulatory text with an LLM.

It was deciding where an LLM must not be trusted.

We had to design explicit boundaries between evidence, verification, state, model reasoning and human authority while ensuring that the system could also choose not to invoke the model when nothing had changed.

What we learned

Agentic systems become more useful when uncertainty and abstention are treated as first-class outputs.

For regulated workflows, a strong agent should not only know when to act. It should know when not to act, preserve evidence, expose missing information and return authority to a human.

Our live Watch Mode demonstrated both behaviors.

What's next

The current hackathon prototype intentionally focuses on one tightly scoped ground-handling regulatory workflow.

Future work could extend the evidence-first architecture to additional official regulatory sources, richer applicability profiles and automated scheduling while preserving the same fail-closed authority model.

The current submission does not claim a universal crawler, autonomous Cloud Scheduler integration or autonomous compliance decisions.

Built With

Share this project:

Updates

posted an update —

Live Watch Mode deployed — 2026-08-30

Agentic Ground Handling Assurance now has a live Watch Mode running on Google Cloud Run with Firestore persistence.

In production we demonstrated both sides of the agentic loop:

  • Verified change: CHANGE_VERIFIED → Gemini invoked, Human Review required, state persisted.
  • No change: NO_CHANGE → Gemini not invoked.

The key behavior is simple:

Act when verified state changes. Abstain when nothing has changed.

Gemini remains outside the final authority boundary: deterministic verification and mandatory Human Review are preserved.

Watch Mode is currently triggered manually through /watch or the WATCH button.

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

Submission history