diff --git a/app/services/portfolio_analysis.py b/app/services/portfolio_analysis.py index 9de6383..9cb84c6 100644 --- a/app/services/portfolio_analysis.py +++ b/app/services/portfolio_analysis.py @@ -257,18 +257,14 @@ implies X under scenario Y"), not advice ("buy X" / "sell Y" are forbidden). - ~350 words. No bullet lists. No buy/sell recommendations. - Do not repeat the input data verbatim — interpret it. -# Rational vs irrational lens (mandatory) -Carry the base prompt's rational-vs-irrational framing through to every -paragraph of the portfolio read. For each section above, contrast: -- The RATIONAL read: what the underlying factors (fundamentals, - macro/policy regime, valuation, currency dynamics) justify for this - exposure; -- The IRRATIONAL read: what positioning, narrative momentum, sentiment - or flows are doing to that same exposure right now. -Then name the GAP — does the holder's posture line up with the rational -read, or is it riding the irrational one? A paragraph that names only -the pie's numbers or only the macro backdrop, without placing the -holding on this rational-vs-irrational axis, is incomplete. +# DO NOT include in this surface (overrides the base prompt) +- No "Rational vs irrational" framing, no "Rational:" / "Irrational:" + section labels, no parallel contrast lists. The base prompt asks + for this framework elsewhere; this surface is plain declarative + commentary on the holdings, not a comparative essay. +- No "System temperature:" closing line. That artefact belongs to the + daily strategic log; here the analysis ends with the last paragraph. +- No "Update mode" headers, no anchor-date callouts, no watch list. """