jev-storyboard-lab
Companion code comparing Google ADK and Microsoft Agent Framework for structured video timelines, with Jev as a shared per-segment QC gate.
Overview
jev-storyboard-lab accompanies a short article series comparing Google ADK and Microsoft Agent Framework for building a structured-output agent. Both demos generate the same Pydantic VideoTimeline schema (title cards, photos, video clips and credits, each with a duration) from Gemini via ADK or Azure OpenAI via Agent Framework.
The point it makes is that schema validation only checks shape, not sanity: nothing checks whether a segment's caption plausibly fits its duration. So every generated segment is passed through the same thin Jev client as a vendor-neutral quality-control gate, unchanged regardless of which framework produced it, and a report is printed. The README also documents practical integration findings, such as ADK's field being output_schema rather than response_schema and Azure structured outputs rejecting discriminated unions, which required a separate wire schema. Live tests for the Jev client skip when no key is present.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Is this timeline segment's content sane, e.g. does its caption plausibly fit its duration?(inferred) | — |
How it works
- Agent (ADK or Agent Framework) generates a VideoTimeline
- Azure output is converted back to the canonical schema
- Each segment is checked by the shared Jev client
- A QC report is printed
Strengths
- Same QC gate works under either framework unchanged
- Catches content problems that schema validation misses
- Documents real integration pitfalls
Caveats
- Article companion code, not a product
- Running both demos needs Google, Azure and TypeSafe keys
Getting started
uv sync, set TYPESAFE_API_KEY, then `uv run pytest tests/ -v`; run demos with `uv run python -m adk_demo.main` or `uv run python -m agent_framework_demo.main`.At a glance
- Type
- Library
- Status
- prototype
- Language
- Python
- Runtime
- CLI
- Has code
- yes
- Has tests
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
(\`agent\_framework.foundry.FoundryChatClient\` is a different client this repo doesn't use — its \`credential\` parameter only accepts Azure AD token credentials, not an API key. If you only have a key-based Azure OpenAI resource, \`OpenAIChatClient\` is the path that actually works.)
logicrw/awesome-jev-projectsGoogle ADK vs Microsoft Agent Framework for structured-output agents, with TypeSafe Jev as a vendor-neutral QC gate.
hellogumbo/awesome-jev
Frequently asked questions
What does Jev check?
Each generated video segment, for example whether its caption plausibly fits its duration.
Why use Jev instead of the generating LLM?
It acts as a vendor-neutral gate that works the same whether the timeline came from Gemini or Azure OpenAI.
Which framework versions were verified?
google-adk 2.7.0 and agent-framework 1.19.0, per the README.
Related projects
Unofficial Python adapter that brings Jev verification, classification and scoring into the Mellea framework as Requirements.
ProjectbetaPythonClaude Code PreToolUse quality gate where Jev scores drafts (such as SVG illustrations) before they are written and blocks substandard work.
ProjectprototypeJavaScriptUiPath bring-your-own-guardrail connector that runs AI Trust Layer llm_as_judge checks as Jev noul questions.
ProjectprototypeJavaScriptAI SDK middleware and OpenAI-compatible proxy that runs seven Jev checks on every LLM response, gated by confidence.
ProxyprototypeTypeScriptVideo summarizer that ties every line to its second; Jev checks each summary sentence against what was said, with numbers checked in code.
ProjectbetaPythonPilot that puts Jev into LangGraph routing and Deep Agents guardrails and claim verification, with executed notebooks and caveats.
ProjectprototypePython