Viney Claude Sonnet 4.6 commited on
Commit
77b9e55
Β·
1 Parent(s): 240baf7

fix: accounting_quality tell + anchoring + routing clarification in prompts

Browse files
Files changed (1) hide show
  1. agent/prompts.py +9 -4
agent/prompts.py CHANGED
@@ -211,12 +211,16 @@ The filing or transcript does not address a headwind, competitor move, or macro
211
  **4. Emphasis shift (emphasis_shift)**
212
  A KPI or metric that was prominently discussed in prior periods is absent or mentioned only briefly now. This was flagged by PRECOMPUTED EDGE SIGNALS as a kpi_dropped or can be inferred from cross-period filing chunks. A dropped KPI is often a metric that has stopped being favorable.
213
 
 
 
 
214
  ### Output rules for between_the_lines
215
 
216
  **between_the_lines** (0-3 items, EMPTY LIST IS VALID):
217
- - Each item MUST be anchored to either: (a) a specific PRECOMPUTED EDGE SIGNAL (cite the SIG-n label), OR (b) a verbatim quote from transcript/filing cross-referenced with another source.
 
218
  - `observation`: what is literally said, present, or notably absent β€” one sentence, specific.
219
- - `reading`: what this signals to an expert β€” what it conceals or implies, one sentence, no generic platitudes.
220
  - `signal_type`: exactly one of language_drift / qa_evasion / omission / emphasis_shift / accounting_quality.
221
  - `implication`: the concrete forward-looking thing to monitor β€” one sentence starting with "Watch for" or "Monitor" or "If [X], then [Y]".
222
  - `evidence`: SourcedFact with verbatim quote ≀30 words.
@@ -484,8 +488,9 @@ def language_directive(language: str) -> str:
484
  Write ALL prose / narrative fields in **{language}**. This includes:
485
  `what_matters_most`, `non_obvious_takeaway`, `text` (in every list item),
486
  `rationale`, `summary`, `headline`, `bullish_reading`, `bearish_reading`,
487
- `language_shift`, `key_quote.text`, `actual_result`, `topic`, and every
488
- string in `what_to_watch` and `evidence_notes`.
 
489
 
490
  The following fields MUST remain in **English** exactly as defined in the schema:
491
  - Enum / controlled-vocabulary fields: `source` (10-K / 10-Q / transcript / news),
 
211
  **4. Emphasis shift (emphasis_shift)**
212
  A KPI or metric that was prominently discussed in prior periods is absent or mentioned only briefly now. This was flagged by PRECOMPUTED EDGE SIGNALS as a kpi_dropped or can be inferred from cross-period filing chunks. A dropped KPI is often a metric that has stopped being favorable.
213
 
214
+ **5. Accounting quality (accounting_quality)**
215
+ A beat driven by a tax rate drop, share count reduction, or below-the-line income rather than revenue or operating income improvement is a quality concern. Use only when get_financial_metrics returned effective_tax_rate, shares_diluted, or interest_income values that explain the beat mechanism. Do not apply when the beat was operationally driven.
216
+
217
  ### Output rules for between_the_lines
218
 
219
  **between_the_lines** (0-3 items, EMPTY LIST IS VALID):
220
+ If the signal is a conflict between two present data points, it belongs in `analytical_tensions`. If it is about what is absent, evasive, or de-emphasized, it belongs here.
221
+ - Each item MUST be anchored to either: (a) a specific PRECOMPUTED EDGE SIGNAL (cite the SIG-n label, confirmed by at least one tool-retrieved chunk in this conversation), OR (b) a verbatim quote from transcript/filing cross-referenced with another source.
222
  - `observation`: what is literally said, present, or notably absent β€” one sentence, specific.
223
+ - `reading`: what this signals to an expert β€” what it conceals, one sentence, no generic platitudes.
224
  - `signal_type`: exactly one of language_drift / qa_evasion / omission / emphasis_shift / accounting_quality.
225
  - `implication`: the concrete forward-looking thing to monitor β€” one sentence starting with "Watch for" or "Monitor" or "If [X], then [Y]".
226
  - `evidence`: SourcedFact with verbatim quote ≀30 words.
 
488
  Write ALL prose / narrative fields in **{language}**. This includes:
489
  `what_matters_most`, `non_obvious_takeaway`, `text` (in every list item),
490
  `rationale`, `summary`, `headline`, `bullish_reading`, `bearish_reading`,
491
+ `language_shift`, `key_quote.text`, `actual_result`, `topic`, every
492
+ string in `what_to_watch` and `evidence_notes`, and `observation`, `reading`,
493
+ `implication` (in every `between_the_lines` item).
494
 
495
  The following fields MUST remain in **English** exactly as defined in the schema:
496
  - Enum / controlled-vocabulary fields: `source` (10-K / 10-Q / transcript / news),