From de3a9bfa66e06a47a140f5f1f2d982043858c1ff Mon Sep 17 00:00:00 2001 From: Giorgio Gilestro Date: Fri, 29 May 2026 16:20:00 +0200 Subject: [PATCH] review: teach reviewer about the rational-vs-irrational structural device MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Live logs (analyze.lang_resolved final=it → reviewer_rejected: "Self-questioning and working-through language ('Razionalmente... Irrazionalmente')") showed Haiku confusing the dashboard's mandated "Rational vs Irrational" contrast framework for scratchpad self-questioning. The portfolio-analysis system prompt explicitly requires every paragraph to contrast a rational reading (fundamentals, policy, valuation) with an irrational one (positioning, narrative momentum) — that's structural prose, not the author thinking on the page. Add an explicit "this is a structural device" carve-out to the reviewer prompt, naming the framework and its IT / ES / FR / DE translations so the rejection doesn't reappear when the prompt output lands in non-English. Co-Authored-By: Claude Opus 4.7 --- app/services/output_review.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/app/services/output_review.py b/app/services/output_review.py index 4fbb2fb..0fa6a9a 100644 --- a/app/services/output_review.py +++ b/app/services/output_review.py @@ -47,6 +47,18 @@ reply, or an email digest — and decide if it is publishable as-is. Mark CLEAN only if the text reads like finished editorial commentary a reader could see on a public dashboard without confusion. +Editorial framework you should KNOW about (don't flag these): +This dashboard's voice deliberately contrasts a "rational" read +(fundamentals, policy regime, valuation) with an "irrational" read +(positioning, narrative momentum, flows) and names the gap between +them. Section labels like "Rational:" / "Irrational:" (or "Bull / +Bear", or any explicit "X vs Y" contrast) are STRUCTURAL DEVICES, +not the author thinking on the page. Treat them as finished prose. +The Italian / Spanish / French / German equivalents +("Razionalmente / Irrazionalmente", "Racionalmente / Irracionalmente", +"Rationnellement / Irrationnellement", "Rational / Irrational") are +the same device translated and equally fine. + Mark UNCLEAN if the text contains ANY of: - Chain-of-thought / scratchpad markers — the author thinking on the page rather than presenting finished commentary. Phrases like @@ -56,7 +68,9 @@ Mark UNCLEAN if the text contains ANY of: front of the reader (self-questioning) are not. - Self-questioning parentheticals: "Q1 2026? Actually Q4 2025?", "is it X or Y?", any place where the author appears to be working - out the answer in front of the reader. + out the answer in front of the reader. The "rational vs irrational" + contrast above is NOT self-questioning — the author is presenting + both reads as parallel takes, not asking which one is correct. - Meta-commentary about the task, output format, word limits, or instructions — e.g. "as required by the constraints", "the prompt asks", "let me address each".