# Build step: the first Role Contract for the AP Worker (/ai-worker-paradigm/what-is-an-ai-worker/build-step)

---
type: Document
title: "Build step: the first Role Contract for the AP Worker"
description: "Chapter 2's lab: the AP Worker's first Role Contract, tested against two emails, with its runtime needs chosen from scored runs, the exam notes and the artifact checklist."
status: stable
order: 102.7
ksor:
  owner: team:panaversity
  audience: [ public ]
  approval:
    by: process:panaversity
    at: 2026-10-06T21:00:42Z
chapter: "02"
part: I
expert_status: required
concepts: []
last_verified: 2026-10-03
generated:
  at: 2026-10-06T21:00:42Z
  by: esl-rewrite/1.2.0+ksor.1
trust_tier: unverified
build_id: sha256:c93b28093c2f70c60faae2645a693d881b657ff94d00f7dd9f8c06427ff61c87
dirty: true
ksor_version: 0.0.60
---

In this lab you turn Brightline's AP work inventory into the AP Worker's first Role Contract. You test its wording against two vendor emails, then choose its runtime needs from scored test runs. It takes about 80 minutes. The files come in [`brightline-lab-ch02.zip`](https://github.com/panaversity/agentfactory-v2-resources/releases/latest/download/brightline-lab-ch02.zip), from the [Labs companion](https://github.com/panaversity/agentfactory-v2-resources). The zip holds every file the lab needs, including Brightline's own work inventory, so you do not need the one you wrote in Chapter 1. Its `LAB.md` gives every step.

**What you do.** Download the zip, unzip it, and open `LAB.md`. Follow it in order, from Part A to Part G. You can read it in any text editor. Or upload only `LAB.md` to Claude or ChatGPT and ask it to guide you through one part at a time. Use a separate conversation for that, not one that the lab asks you to open.

**Who supplies what.** At Brightline, the controller supplies the owner, the KPIs and the escalation thresholds. You draft the rest and mark anything only the controller can decide as an open question. Then `role/controller-answers.md`, which acts as the controller, answers what it can.

The lab follows five moves:

1. Predict: read `role/ap-work-inventory.md` and mark which of the sixteen elements it already answers. A typical inventory answers only four or five. Then predict what your finished contract will make the worker do with each of the two emails in `inputs/`.
2. Run: fill the template from the inventory and the chapter's opening story. Use an AI vendor's assistant to help with wording if you like. But write the Authority field yourself: one verb per action, with forbidden actions written as "never."
3. Investigate: run `briefs/contract-test.md` on one AI vendor, once for each email. The fake bank-change email must be escalated, not answered. The ordinary payment-status question must get a drafted reply, not an escalation, because a contract that escalates everything is safe but useless. If a test fails, change the line that caused it, not the test, and record which line decided each case.
4. Modify: run the lab's invoice-register brief, with its fifteen invoices, on your first AI vendor twice. Run it at the default model and effort, then at one effort level lower. Score each run out of 10 with the lab's rubric, and note the time and any usage figure the product shows. Choose the cheapest setting that scored 10. If the product shows no cost, say so and choose on the evidence you have. One run per setting is a small sample, so if the choice is close, run the cheaper setting once more before you trust it. Write the choice into the runtime needs, with the date. Then port it, which means you move your choice to the other AI vendor. Tier names do not match, so choose by job, and record the choice and your reason in `briefs/invoice-register-port.md`. With only one AI vendor, write the port as a prediction. Last, check that the role and authority did not have to change. Implementation details may change, and the port log records them.
5. Make: apply it to your vertical. List five recurring tasks for one role you know well, and draft its Role Contract. Then write one test case: the action it must never take, and what it should do instead.

What changed between the two AI vendors' runtime needs belongs to the runtime. Everything else on the page is the role, and the role is yours.

## Exam notes

- **Model families on the CCAO-F exam.** The exam guide expects three model families: Haiku, Sonnet and Opus. Anthropic now offers four. On the exam, answer with the three families and their trade-offs in mind.
- **Features on the CCAO-F exam.** The exam guide expects four named features: projects, research mode, chat and artifacts. Current products add more, such as tasks. On the exam, choose among the four named features. Concept 2.4 teaches all four.

## Artifact checklist

Before you move on to Chapter 3, check that you have finished these. The first four are files in your lab folder. The last one is your own.

- [ ] `role/ap-worker-role-contract.md`, Draft 1, with every field filled or listed as an open question
- [ ] `results/contract-test.md`, with both emails handled correctly and the line that decided each
- [ ] `results/model-test.md`, with scored runs, and the setting you chose from them
- [ ] The port to the other AI vendor recorded in `briefs/invoice-register-port.md`, or written as a prediction
- [ ] A Role Contract draft and one test case for a role in your own vertical
