Athlete comms test protocol
Purpose
This protocol tests whether athlete-comms is behaving correctly as a final language-review gate without sending any message to the athlete.
It validates review quality, not runtime authority.
What this protocol can prove
This protocol can prove that, when athlete-comms is invoked, it can:
- approve a clean athlete-facing message
- rewrite a technically correct but poorly worded message
- block a draft, internal note, or progress update
- preserve required coaching meaning and attribution
What this protocol cannot prove
This protocol cannot prove that all athlete delivery is forced through athlete-comms.
Without a runtime hard gate, another path could still bypass the role.
Recommended test modes
Mode 1, fixture review
Use a fixed set of known-good and known-bad candidate messages.
For each fixture, hand the package to athlete-comms and require one of these outcomes:
APPROVEREWRITEBLOCK
No athlete delivery occurs in this mode.
Mode 2, shadow review on real drafts
For a real outbound athlete message:
- Coach Luca prepares the candidate body.
- The candidate is handed to
athlete-comms. athlete-commsreturns one of the review outcomes.- The result is shown only to the operator.
- The message is not sent to the athlete.
This validates live behavior without live delivery.
Mode 3, adversarial review
Intentionally test failure cases such as:
- internal progress chatter
- partial drafts
- missing attribution
- vague wording that weakens the recommendation
- operator-facing file-path leakage
The expected result is BLOCK or REWRITE, depending on severity.
Standard handoff package
Use this package shape for every test:
Required test output
For each test, athlete-comms should return a structured review result:
Pass criteria
The role is considered working in dry-run review if it consistently does all of the following:
- blocks obvious draft fragments and internal progress chatter
- rewrites weak but salvageable athlete language into coach-grade wording
- approves already-clean messages without unnecessary rewriting
- preserves required technical meaning
- verifies attribution accurately without rewriting Coach Luca's footer content
- when a case blocks outside dry-run, logs the raw blocked candidate into the athlete-local canonical daily log with a timestamped audit trail
- never marks dry-run output as sendable
Minimum regression set
Run at least these cases every time the role or policy changes:
- clean morning plan, should
APPROVE - vague but technically correct training reply, should
REWRITE - internal progress update, should
BLOCK - nutrition reply with missing footer, should
REWRITEorBLOCK - mixed operator note plus athlete message, should
BLOCK - sharp but clean short reply, should
APPROVE
Confidence scale
- Low confidence: one or two ad hoc tests only
- Moderate confidence: fixture suite passes once after changes
- High confidence: fixture suite plus repeated shadow review on real drafts
Important limitation
Passing this test protocol means the role is useful. It does not mean the workspace has a true hard gate. That requires delivery-path enforcement, not only successful review behavior.