{"slug": "versions-tests-and-review", "title": "Version, test and review agent behavior", "summary": "Treat changes to agent instructions and memory like changes to software: small revisions, visible diffs, reproducible tests and explicit acceptance.", "audience": "People maintaining an agent after its first useful result.", "version": "1.0.0", "reviewed_on": "2026-10-03", "author": "Finn Andre Hotvedt", "assistance": "Developed with assistance from ChatGPT and Codex by OpenAI.", "lesson_ids": ["TTC-113", "TTC-114", "TTC-115"], "sections": [{"title": "Make every meaningful change explainable", "paragraphs": ["A revision should say what changed, why it changed, who reviewed it and how to test it. Git provides durable history and comparison, but a commit alone does not prove the behavior is correct.", "Keep changes narrow enough to revert. Preserve the previous accepted version until the new version passes its tests and can be restored without losing unrelated work."], "checklist": ["Review the diff for accidental scope expansion.", "Run positive, negative and uncertainty cases.", "Record the evidence used to accept the revision.", "Confirm the rollback restores the previous behavior."], "copyable": ""}, {"title": "Test decisions, not writing style", "paragraphs": ["A useful evaluation asks whether the agent selected the right evidence, respected permissions, surfaced uncertainty and produced the required artifact. Avoid grading only tone or similarity to one preferred sentence.", "Include a normal case, a missing-evidence case, a conflicting-source case and a request outside authority. A passing test should be observable and repeatable by another reviewer."], "checklist": [], "copyable": "Case: <short name>\nGiven: <approved evidence and permissions>\nWhen: <user request>\nThen: <observable result>\nMust not: <unsafe or unsupported behavior>\nEvidence: <files, citations or event record>"}, {"title": "Keep people accountable for acceptance", "paragraphs": ["The agent can prepare a proposal, test result or draft. A named person accepts consequential changes. The record should distinguish proposed, reviewed, accepted, published and executed states.", "A review is strongest when it can explain both the accepted result and the rejected alternatives. Confidence language cannot replace that evidence."], "checklist": [], "copyable": ""}], "canonical_url": "https://teachthecompany.com/manuals/versions-tests-and-review/", "public_manuals_repository": "https://gitlab.finnandre.no/finnandrehotvedt/teach-the-company-public-manuals", "repository_scope": "Dedicated public manuals and version history; complete application source is linked from the self-host page.", "license": "Apache-2.0"}