AI / Apache Burr Interview questions
Why would you combine application-level and action-level typing in the same Burr app?
Each level solves a different problem, so using both plays to their separate strengths. Application-level typing gives you a single, complete schema that downstream consumers — a web server, another service, a test harness — can rely on, plus whole-app IDE support when you write orchestration code around app.run(...).
Action-level typing keeps individual actions modular: an action author can type just the fields their function touches with @action.pydantic(reads=..., writes=...), without needing to know or restate the full application schema. That matters when actions are reused across multiple applications with different overall state shapes.
Burr explicitly allows mixing both as long as the field types agree where they overlap — if an action-level type for a field conflicts with the application-level model’s type for that same field, building the application will error out rather than silently picking one.
More Related questions...