Labwrights

Changelog

What changed in this package, newest first. Before every release, each lab is executed again on live Azure.

[2027 Edition — Early Access, update 1] — 2026-10-26

A documentation-only update; no lab content changed.

  • LICENSE.md now says plainly that the material is provided as is, and that the labs teach skills without promising employment, interviews, certification, or income.

[2027 Edition — Early Access] — 2026-10-26

First release.

  • 11 labs that take a working app from first run to a production RAG system on Azure: ingestion with OCR, hybrid search, cited answers with honest refusal, measured retrieval quality, an evaluation gate for CI, tracing and cost metrics, and layered defenses against prompt injection.
  • Every command and expected output was captured from a real run on live Azure in October 2026.
  • Written to be read by newcomers: each lab explains its ideas in plain paragraphs with an analogy, and lists its new words up front. It also walks through all the app code you write, in short commented pieces. GLOSSARY.md collects every term in one place.
  • The AI Engineer's Handbook (handbook/): 65 topics on LLMs, RAG, evaluation, production, safety, and Azure, each tagged beginner, intermediate, or advanced, with links for further reading. Checked against official sources in October 2026.
  • A capstone with an autograder (capstone/): build incremental corpus sync to a written contract, graded offline by scripts/grade-capstone.sh. No solution ships; the grader is the answer key.
  • Extras (extras/): a 62-question interview pack tied to the labs, a troubleshooting index of every error the labs can produce, and the glossary as a flashcard deck (scripts/make-flashcards.py regenerates it).
  • Reference solutions for the end of every lab (solutions/), plus scripts/catch-up.sh to put your backend at any of them, and scripts/ask.py to query the chat from a terminal.
  • Pinned dependencies: the backend installs through app/backend/constraints.txt, the frontend through app/frontend/package-lock.json, so the versions you get are the versions that were verified.
  • Model versions: chat runs on gpt-5.4-mini (2026-03-17) and embeddings on text-embedding-3-small (1). Azure's catalog lists their retirement as 2027-09-21 and 2028-02-09; lab 2 shows how to check and switch models.
  • Known limitations:
    • Lab times are estimates.
    • The CI evaluation-gate workflow (.github/workflows/eval-gate.yml) ships ready to enable in your own fork; its one-time setup is in the file's header comments.
    • Azure regions sometimes run out of AI Search capacity; lab 6 covers the --search-region fallback.