Resources

References for participants after the session, and pointers for facilitators preparing one.

Official documentation

Content exclusion is not supported for every flow, including some agent and edit flows. Do not treat it as the control that makes an arbitrary repository safe to use as Copilot context. Entitlement and data handling are organizational decisions with a named owner.

Workshop pages

The practice fixture

The fixture lives in the repository under workshop/fixture/. It is originally authored classroom material with two dependencies, no network access, no user interface, and no provider integration.

Files a participant would read:

File What it holds
lib/scenario-engine/types.ts Enums, the request shape, and the discriminated result type
lib/scenario-engine/validateGenerateRequest.ts validateGenerateRequest and its fixed validation order
lib/scenario-engine/validateGenerateRequest.test.ts The test suite
scripts/self-check.mjs Prints one pass or fail line
scripts/reset.mjs Restores the three lab files from a pristine copy
VERIFICATION.md The observed behavioural record, with every count labelled as observed

Commands, run from the fixture directory:

npm ci
npm test -- lib/scenario-engine/validateGenerateRequest.test.ts
npm run typecheck
node scripts/self-check.mjs
node scripts/reset.mjs

A passing test run does not establish type correctness, which is why the typecheck is a separate command.

Invariant software literals

These are code contract values. They are byte-identical in every language edition of this workshop and are never translated, re-cased, re-spaced, or re-punctuated.

Item Value
Constant name MAX_TITLE_LENGTH
Constant value 80
Error message Title must be at most 80 code units
Function name validateGenerateRequest

The error message carries no trailing period.

Next learning steps

  • Repeat Activity C on a rule from your own codebase: write the goal, the context, the constraints, and the acceptance tests before opening a prompt.
  • Repeat Activity D’s review half on any generated change: read the diff file by file, run the tests, then accept, reject, or revise.
  • Keep the boundary habit. Name the files a change is allowed to touch before you ask for the change.

Deck downloads

The generated decks are produced in a later phase of this project and are linked from the repository README once they ship. There is no deck link on this page yet, because the file does not exist.


This site uses Just the Docs, a documentation theme for Jekyll.