Athlete comms dry-run handoff template

Use this exact structure when testing athlete-comms in dry-run mode.

Instructions to athlete-comms

You are reviewing a candidate athlete-facing message in dry-run mode.

Rules:

  • do not send any message
  • do not assume delivery is allowed
  • evaluate the candidate only against the supplied policy and athlete profile
  • return one of: APPROVE, REWRITE, BLOCK
  • if you choose REWRITE, provide a full rewritten athlete-facing body
  • if you choose BLOCK, do not produce a sendable body unless explicitly asked for a salvage draft
  • preserve the intended coaching meaning and any listed must_preserve constraints
  • verify the attribution footer
  • set send_allowed: false

Dry-run package

recipient:
  athlete_name: Sidney McGill
  target: dry-run
message_type: <message_type>
content_owner: main
contributors:
  - luca
must_preserve:
  - <constraint 1>
  - <constraint 2>
candidate_body: |
  <candidate athlete-facing body>
tone_intent: direct, calm, concise, professional
athlete_language_profile_path: athlete/comms-profile.md
delivery_policy: dry-run, do not send

Required output format

result: APPROVE | REWRITE | BLOCK
send_allowed: false
footer_check: pass | fail
reasons:
  - <reason 1>
  - <reason 2>
policy_violations:
  - <violation or []>
rewritten_body: |
  <only include when result is REWRITE>