From 265bf0847064a7d75b06c2263cb23b3d5987a40e Mon Sep 17 00:00:00 2001 From: michael Date: Thu, 19 Feb 2026 09:18:52 -0600 Subject: [PATCH] Replace punitive "violation" language with constructive alternatives in agent prompts UAT feedback flagged the use of "violations", "violates", etc. as feeling accusatory. Replaced all instances with constructive terms ("issues", "doesn't align with", "doesn't meet") and added an explicit instruction to all 5 agent prompt templates to avoid this language in output. Co-Authored-By: Claude Opus 4.6 --- backend/app/agents/brand_agent.py | 3 ++- backend/app/agents/channel_best_practices_agent.py | 3 ++- backend/app/agents/channel_tech_specs_agent.py | 1 + backend/app/agents/lead_agent.py | 1 + backend/app/agents/legal_agent.py | 7 ++++--- 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/backend/app/agents/brand_agent.py b/backend/app/agents/brand_agent.py index 75c9703..505bf8a 100755 --- a/backend/app/agents/brand_agent.py +++ b/backend/app/agents/brand_agent.py @@ -136,7 +136,7 @@ IMPORTANT: Do NOT include page numbers, document names, or source citations in y RAG Status Guidelines: - **Green**: Fully compliant with brand guidelines, no issues - **Amber**: Minor deviations that should be addressed but don't severely impact brand integrity -- **Red**: Significant brand guideline violations that must be fixed before use +- **Red**: Significant brand guideline issues that must be fixed before use If the proof is nonsensical, not a marketing material, or cannot be analyzed, set analysisStatus to 'low_confidence'. @@ -147,6 +147,7 @@ If the proof is nonsensical, not a marketing material, or cannot be analyzed, se - Start with the issue, then the recommendation - Example: "Logo placement incorrect (bottom-left) - move to top-right corner per guidelines" - IMPORTANT: Use British English spelling throughout all output (e.g. "authorised" not "authorized", "colour" not "color", "capitalise" not "capitalize", "organised" not "organized", "centre" not "center", "analysed" not "analyzed"). +- IMPORTANT: Never use the words "violation", "violates", or "violated" in your output. Use constructive alternatives such as "issue", "doesn't align with", "doesn't meet", or "conflicts with". """ # Determine if revision fields should be included diff --git a/backend/app/agents/channel_best_practices_agent.py b/backend/app/agents/channel_best_practices_agent.py index 98bbd1f..cbe67b8 100644 --- a/backend/app/agents/channel_best_practices_agent.py +++ b/backend/app/agents/channel_best_practices_agent.py @@ -129,7 +129,7 @@ IMPORTANT: Do NOT include page numbers, document names, or source citations in y RAG Status Guidelines: - **Green**: Fully aligned with best practices, optimized for the channel - **Amber**: Minor improvements could enhance performance but content is acceptable -- **Red**: Significant best practice violations that will impact content effectiveness +- **Red**: Significant best practice issues that will impact content effectiveness If the proof is nonsensical, not a marketing material, or cannot be analyzed, set analysisStatus to 'low_confidence'. @@ -140,6 +140,7 @@ If the proof is nonsensical, not a marketing material, or cannot be analyzed, se - Start with the issue, then the recommendation - Example: "CTA placement below fold - move above fold for better visibility" - IMPORTANT: Use British English spelling throughout all output (e.g. "authorised" not "authorized", "colour" not "color", "capitalise" not "capitalize", "organised" not "organized", "centre" not "center", "analysed" not "analyzed"). +- IMPORTANT: Never use the words "violation", "violates", or "violated" in your output. Use constructive alternatives such as "issue", "doesn't align with", "doesn't meet", or "conflicts with". """ # Determine if revision fields should be included diff --git a/backend/app/agents/channel_tech_specs_agent.py b/backend/app/agents/channel_tech_specs_agent.py index 67e630a..c54fd4c 100644 --- a/backend/app/agents/channel_tech_specs_agent.py +++ b/backend/app/agents/channel_tech_specs_agent.py @@ -148,6 +148,7 @@ If the proof is nonsensical, not a marketing material, or cannot be analyzed, se - Start with the issue, then the specification requirement - Example: "Image resolution 72dpi - increase to minimum 150dpi for print quality" - IMPORTANT: Use British English spelling throughout all output (e.g. "authorised" not "authorized", "colour" not "color", "capitalise" not "capitalize", "organised" not "organized", "centre" not "center", "analysed" not "analyzed"). +- IMPORTANT: Never use the words "violation", "violates", or "violated" in your output. Use constructive alternatives such as "issue", "doesn't align with", "doesn't meet", or "conflicts with". """ # Determine if revision fields should be included diff --git a/backend/app/agents/lead_agent.py b/backend/app/agents/lead_agent.py index 52ed9c5..4e0dd9f 100755 --- a/backend/app/agents/lead_agent.py +++ b/backend/app/agents/lead_agent.py @@ -148,6 +148,7 @@ Your summary should: - Do NOT include page numbers, document names, or source citations. Keep all feedback self-contained and actionable. - For 'Passed': briefly note any amber items in 1-2 bullets - IMPORTANT: Use British English spelling throughout all output (e.g. "authorised" not "authorized", "colour" not "color", "capitalise" not "capitalize", "organised" not "organized", "centre" not "center", "analysed" not "analyzed"). +- IMPORTANT: Never use the words "violation", "violates", or "violated" in your output. Use constructive alternatives such as "issue", "doesn't align with", "doesn't meet", or "conflicts with". {revision_context} Here are the specialist reviews: {self._format_reviews(reviews)} diff --git a/backend/app/agents/legal_agent.py b/backend/app/agents/legal_agent.py index babebde..33b14c3 100755 --- a/backend/app/agents/legal_agent.py +++ b/backend/app/agents/legal_agent.py @@ -115,7 +115,7 @@ Analyze the uploaded proof for legal compliance, checking: 4. **Regulatory Compliance**: - Does the content comply with FCA regulations (if applicable)? - - Are there any ASA/CAP code violations? + - Are there any ASA/CAP code issues? - Is representative APR shown where required? 5. **Terms and Conditions**: @@ -137,8 +137,8 @@ IMPORTANT: You must include the following fields in your JSON response: RAG Status Guidelines: - **Green**: Fully compliant with legal requirements, no issues -- **Amber**: Minor issues that need attention but not critical violations -- **Red**: Significant legal or regulatory violations that must be addressed +- **Amber**: Minor issues that need attention but are not critical +- **Red**: Significant legal or regulatory issues that must be addressed If the proof is nonsensical, not a marketing material, or cannot be analyzed, set analysisStatus to 'low_confidence'. @@ -150,6 +150,7 @@ If the proof is nonsensical, not a marketing material, or cannot be analyzed, se - Start with the issue, then the requirement - Example: "Missing APR disclaimer - add representative APR per FCA requirements" - IMPORTANT: Use British English spelling throughout all output (e.g. "authorised" not "authorized", "colour" not "color", "capitalise" not "capitalize", "organised" not "organized", "centre" not "center", "analysed" not "analyzed"). +- IMPORTANT: Never use the words "violation", "violates", or "violated" in your output. Use constructive alternatives such as "issue", "doesn't align with", "doesn't meet", or "conflicts with". """ # Determine if revision fields should be included