Module
Module 5 of 6Lesson 1 of 2~14 min

Evolve the contract without breaking the product

Lesson 1 of the module "Keep the contract alive" in the course "Get reliable, product-ready AI outputs (JSON, schemas, function calling)".

Lesson objective

By the end of this lesson, you will be able to classify a schema change as additive or breaking, propose a migration plan, anticipate the effect of changing provider or model, and split roles between PM and developers.

Where it fits

Keep the contract alive

How do I evolve the schema without breaking the product, and how do I know it holds?

Lessons in this module

  1. Evolve the contract without breaking the product (this lesson)
  2. Test the contract on 20 cases chosen to break it

What you will learn in the course

This lesson is part of the course Get reliable, product-ready AI outputs (JSON, schemas, function calling)

  • Diagnose where free-text output breaks a feature and decide which outputs require a contract.
  • Choose between instructions alone, JSON mode, structured outputs and function calling for a given need, and justify the choice.
  • Design an output schema (types, enums, required fields, nullable fields, descriptions, "unknown" values) where every field serves a consumer.
  • Specify validation (syntax, schema, business rules), retries, handling of refusals and truncation, and the fallback path.
  • Version and evolve an output contract without breaking its consumers, accounting for provider differences and the split of roles between PM and developers.
  • Build a set of 20 robustness cases and set acceptance thresholds before going to production.