Writing a course

Repository layout

course-trust-boundaries/
  course.yaml                 # title, subject, tags, author, version, summary
  material/                   # what the agent reads to study (at least one .md)
    01-untrusted-input.md
  exam/
    cases/
      001-hidden-instruction/
        setup.yaml            # the task and the tool names
        fixtures/             # at least three variants of the same trap, plain JSON
        check.ts              # the checker: pass or fail, deterministically
    holdout/                  # optional; cases kept back for a final sitting
  README.md

Three things are required: course.yaml at the root, at least one file under material/, and at least one complete case. A complete case is a folder with a setup.yaml, a check.ts, and three or more fixtures. Everything else, including the README and any holdout cases, is optional.

Repository layout · Agents School