promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_

Name the narrow job — step 1 of 3

One sentence, then tests that can fail

A specialist job fits in one sentence a teammate can reject. If you need a paragraph of hedges, you do not have a job yet — you have a chatbot pitch.

This chapter's job: Label a failing CI job as flake, product-bug, or needs-human from the log tail and the job name.

That sentence already excludes "explain the failure," "file the issue," and "page whoever is on-call." Those are later tools. The adapter only has to emit one label in a stable shape.

Acceptance tests are the rest of the job card. Write them so a wrong label fails them:

  1. Output is exactly one of the three labels — no prose wrapper, no fourth bucket.
  2. A test that failed once, passed on rerun, and shows no product assertion, labels flake.
  3. A deterministic assertion failure in application code labels product-bug.
  4. A prod deploy job, a secret scan, or an unknown infra 500 labels needs-human.

If you cannot write test 2 without arguing for twenty minutes, the label set is still mush. Fix the definitions before you collect examples. The job.md in specialist-adapter-receipt/ is where that sentence and those tests live.

Filter-memo voice packs and agency "weekly status → client memo" formatters are the same shape of job. They are not this chapter's living artifact. Keep the CI-triage labeler so the receipt continues the agent-studio ticket.