@README.md
examples/is for vendor-facing reference implementations only. Every example must beextra_fields-driven: per-problem data (prompts, answers, rubrics) comes fromproblems-metadata.json/ Taiga at runtime, not hardcoded in the image. For large per-problem assets (test suites, fixture files) usepreloaded_filesand put the in-container path inextra_fields. See README → Problems live in Taiga, not the container.- Debug/experimental envs and team-owned containers go in the monorepo at
biome/biome/env_building/containers/— not in this repo.
When a change alters a command, flag, tool, or workflow that appears in any README (root quick start, example READMEs, local-tunnel/, mcp_client/), update those docs in the same PR.
When asked to add a new example to examples/, do the full end-to-end flow — don't stop at "files written":
- Scope. Read an existing example in the same family (e.g.
galculator-cu-typescriptfor a CU env in a non-Python language) andtaiga-core/src/taiga/spec.pyfor theGradecontract. - Build & local smoke.
docker build --build-context taiga=../../ ..., then a stdio MCP smoke test (initialize→tools/list→grade_problem). See README → Building An Environment and MCP Server Specification. - Dockerfile consistency.
pytest taiga-core/tests/test_dockerfile_consistency.py. The "Base setup" and "Layer 1: Computer use" sections must be byte-identical across all examples — copy them verbatim from a sibling. - Push to registry. See README → Pushing Docker Images. Pin a timestamped tag in
problems-metadata.json(:latestis not supported). - Verify on the hosted platform. Create environment → problem version → run a job via the API (spec at https://taiga.ant.dev/api/docs/openapi.json, concepts at https://taiga.ant.dev/api/wiki/file?path=concepts.md). Check the job's
final_score. - Local-tunnel interactive. See
local-tunnel/README.mdto drive a sampling session against your local container. - Wire into CI. For CU envs, add the problem-set name to
EXPECTED_WINDOWSintaiga-core/tests/test_cu_startup.pyand commit a baseline snapshot. Runpytest -m validate_env --problems-metadata-path=examples/<env>/problems-metadata.json(seetaiga-core/README.md). - PR. Include the taiga.ant.dev job link as proof the environment runs end-to-end.