The framework and language matrix maps each lab to its language, framework style, runtime concern, and expected evidence.

Section
Hands-On Labs
Type
Lab
Level
Hands-on
Read
7 min
Effort
45-90 min lab
BuilderStudent

Lab Framework and Language Matrix

The labs are intentionally language- and framework-agnostic. They use different tools so you can see the architectural pattern beneath the framework API.

Use this page before you start coding. It answers two questions: which lab should I run first, and what production boundary should I inspect while I run it?

Coverage Graph

Use this graph to see the learning emphasis across languages, runtimes, framework slices, and capstones. The goal is balanced architecture exposure, not equal package coverage.

Framework and language lab coverage

Lab Pattern Language Framework / Runtime Framework-Agnostic Lesson
Lab 01 - Tool-Using Agent Tool use TypeScript Minimal custom runtime / AutoGen-style example The model proposes a capability use; software owns validation and execution.
Lab 02 - Agent Loop and Planning Planning and execution TypeScript, with Python mirror Framework-neutral planner/executor Planning and execution are separate responsibilities even when one framework packages both.
Lab 03 - Agentic RAG Retrieval and grounding Python LangChain/LangGraph-style retrieval stack Retrieval produces scoped evidence; generation must stay grounded in that evidence.
Lab 04 - A2A Communication Agent-to-agent protocol TypeScript Protocol-first runtime with Ajv schema validation Agent communication needs typed envelopes, correlation IDs, refusals, errors, and cancellation.
Lab 05 - Multi-Agent Supervisor Supervisor / worker TypeScript AutoGen-style manager/worker example A supervisor owns decomposition, worker contracts, and final synthesis.
Lab 06 - Observability and Evals Trace and eval harness TypeScript Framework-neutral tests over examples Evals should inspect trajectories, not only final answers.
Lab 07 - Mastra Runtime Packaging Runtime packaging TypeScript Mastra-style agents, tools, workflows, memory, and evals Framework runtime packaging does not remove product ownership of state, policy, and acceptance.
Lab 08 - CrewAI Flows and Crews Flow and crew orchestration Python CrewAI-style flows, crews, roles, and tasks Flows own state and acceptance; crews perform bounded specialist work.
Mini-Framework Track Runtime primitives TypeScript or Python From-scratch educational runtime Building the primitives once clarifies what frameworks package.
Lab 09 - Minimal Agent Loop Agent loop TypeScript or Python From-scratch educational runtime State, decisions, observations, budgets, and stop reasons are the core loop.
Lab 10 - Tool Registry and Policy Gate Tool and policy boundary TypeScript or Python From-scratch educational runtime Tool availability and policy authorization are different runtime decisions.
Lab 11 - Context, Memory, Trace, and Evals Runtime observability TypeScript or Python From-scratch educational runtime Context, memory, traces, and trajectory evals make the runtime reviewable.
Lab 12 - LangGraph State Graph State graph and resume Python LangGraph-style graph state, nodes, edges, checkpoints, and interrupts Graph execution is strongest when state, branching, pause/resume, and node observability matter.
Lab 13 - AutoGen Transcript Evals Multi-agent transcript evaluation TypeScript AutoGen-style agents, teams, messages, and transcript evals A multi-agent run needs a reviewable transcript, explicit stop reason, and role-level acceptance criteria.

How To Read The Matrix

Do not treat the framework column as the point of the lab. Treat it as the implementation surface. The durable lesson is the boundary: state, tools, policy, context, communication, evaluation, or runtime control.

If you later use LangGraph, Mastra AI, AutoGen, CrewAI, Semantic Kernel, MCP, or a custom runtime, keep the same questions in view:

  • What does the framework own?
  • What does your application still own?
  • Where is state persisted?
  • Where are tool calls validated?
  • Where is policy enforced?
  • What can be replayed after a failure?

Choose By Situation

Use this table when you already know the problem you are trying to solve.

If Your Current Problem Is… Start With Then Read Why
Exposing one tool to a model Lab 01 Tool Capability Design You need typed inputs, controlled errors, and permission boundaries before autonomy.
Adding planning or step-by-step execution Lab 02 Planning and Execution You need to separate plan creation, execution, and stop reasons.
Grounding answers in documents Lab 03 Semantic Recall and RAG You need source eligibility, retrieval quality, citations, and missing-evidence behavior.
Connecting agents or services Lab 04 A2A Agent Interoperability You need typed envelopes, identity, refusals, errors, cancellation, and replay.
Splitting work across roles Lab 05 Supervisor / Worker You need worker contracts, merge policy, and one final owner.
Proving behavior with traces and evals Lab 06 Observability and Evals You need trajectory evidence, not just final answers.
Comparing framework runtime packaging Lab 07 Framework Selection You need to see what a runtime packages and what your product still owns.
Modeling crew-style orchestration Lab 08 Choosing Multi-Agent Topology You need to distinguish flow state from role-based worker output.
Understanding what frameworks package Mini-Framework Track Building a Minimal Agent Runtime You need the primitives before comparing framework abstractions.
Testing resume, interrupts, or graph state Lab 12 Durable Workflows You need checkpoints, state transitions, and failure recovery.
Evaluating multi-agent conversations Lab 13 Debate and Consensus You need transcript evidence, role acceptance, and stop conditions.

If several rows apply, start with the riskiest boundary. A write-capable tool, private data source, long-running workflow, or multi-agent handoff should drive the lab choice.

Fast Decision Shortcut

Use this shortcut when you have five minutes and need a starting path.

Highest Risk In Your System Run First Add Next Production Check
A model can call a tool Lab 01 Lab 10 Tool schema, permission, idempotency, timeout, and audit record.
A model can plan several steps Lab 02 Lab 09 Stop reason, budget, retry rule, cancellation, and trace events.
A model answers from documents Lab 03 Lab 11 Source ACLs, freshness, citations, missing-evidence behavior, and retrieval evals.
Agents exchange messages Lab 04 Lab 13 Typed envelope, identity, correlation ID, refusal, cancellation, and transcript replay.
Work splits across roles Lab 05 Lab 08 Worker contract, merge policy, final owner, role permissions, and acceptance eval.
Release quality is unclear Lab 06 Lab 11 Trace contract, negative cases, trajectory evals, and blocking thresholds.
Work can pause and resume Lab 12 Durable Workflows chapter Checkpoint store, interrupt payload, state migration, and stuck-run dashboard.
Framework choice is unclear Mini-Framework Track Lab 07 Ownership split between framework runtime and product policy.

Do not optimize for the most interesting lab. Optimize for the boundary most likely to hurt users, leak data, spend money, or block operators.

Lab-To-Product Paths

Use these paths when you want a lab to become design-review material.

Product Slice Run Compare With Finish With
Support refund agent Lab 01, Lab 07, Lab 12 native-framework-examples/mastra-refund/, native-framework-examples/langgraph-refund/ Support Refund Agent Capstone
Research RAG assistant Lab 03, Lab 06, Lab 11 native-framework-examples/langgraph-research-rag/ Research RAG Agent Capstone
Multi-agent delivery workflow Lab 05, Lab 08, Lab 13 native-framework-examples/autogen-delivery/, native-framework-examples/crewai-delivery/ Multi-Agent Delivery Workflow Capstone
Custom runtime foundation Labs 09, 10, 11 Mini-framework TypeScript or Python implementation Reference Architecture

Each path should end with a worksheet, not just a passing command. Use the lab completion worksheet, then the lab production readiness worksheet.

Current Coverage

The current labs now cover TypeScript, Python, protocol boundaries, framework-neutral tests, LangGraph-style state graphs, AutoGen-style transcripts, Mastra-style runtime packaging, CrewAI-style flow orchestration, from-scratch runtime primitives, production readiness gates, and isolated native framework examples.

Repository native examples:

Example Framework Connects To
native-framework-examples/langgraph-refund/ LangGraph Lab 12 and Support Refund Agent capstone
native-framework-examples/langgraph-research-rag/ LangGraph Lab 03 and Research RAG Agent capstone
native-framework-examples/mastra-refund/ Mastra Lab 07 and Support Refund Agent capstone
native-framework-examples/autogen-delivery/ AutoGen Lab 13 and Multi-Agent Delivery Workflow capstone
native-framework-examples/crewai-delivery/ CrewAI Lab 08 and Multi-Agent Delivery Workflow capstone

Planned lab expansion should add:

  • deeper deployment walkthroughs that connect the readiness checklist to concrete cloud/runtime targets.

Matrix Review Gate

Before adding a new lab, update this page only if the lab changes reader choice. A new lab should add at least one of these:

  • a new architecture boundary;
  • a missing language or runtime comparison;
  • a production concern not covered by existing labs;
  • a capstone path that readers can follow end to end;
  • a native framework slice that clarifies what the framework owns.

Do not add labs only to cover another library. Add them when they teach a boundary that engineers need to ship safer systems.