Spaces:
Running
Running
Commit History
-
feat: The Brief renders as the published research noteβ
The Brief was a stack of ~20 cards. It is now one document, reproduced from the note published on 2026-09-02: masthead, ten sections in a fixed order, sticky contents bar, sticky data rail, sourced footer. Same palette, same typography, same placements. The reproduction is asserted, not asserted-to-be. tests/test_note_fidelity.py compares against tests/fixtures/published_note.html and passes only if the stylesheet matches declaration for declaration (117 rules, no additions) and each of the three figures is byte-identical -- coordinates, order, attributes. Two encodings are allowed to differ and both are pinned by that test: the .rt-note selector prefix, and xmlns on every <svg>. The palette is the app's now, not the document's. Every hardcoded colour across 19 modules -- 330 of them -- was remapped onto the note's thirteen tokens, config.toml was repointed, and Inter gave way to the note's three families. A light document inside a dark shell would have been two designs. What the fiβ¦93f9cc0
-
feat: dark mode, market and quarter context on The Brief, faster cold startβ
UI - Migrate the whole app to a dark palette driven by dashboard/theme.py tokens rather than an overlay, including a registered Plotly template so charts theme globally. Streamlit base set to dark in config.toml. - The Brief now opens with what a memo about a listed company must show: a market band (price and move, market cap, 52-week range with position marker, dividend yield) and the quarter's reported figures (revenue, EPS, gross and operating margin, FCF with deltas). Rows come from the same masked view Financials uses, so a hidden figure stays hidden. - Surface what_changed on The Brief itself; it was only reachable from another screen although it is the first thing the brief promises. - Warn when most facts are unverified instead of showing a thin brief with no explanation. - Landing page explaining each destination, with saved briefs as entry points, for visitors arriving with no ticker. - Company Primer: prose sections rendered as cards rather than dataframes,β¦3cd8872
-
feat: redesign Verdict tab for senior equity research / PM audienceβ
- Promote Executive Summary to top position (verdict in 5 s) - Add QoQ Watch-Outs section: consolidates cautionary deltas (risk_added, reworded, kpi_dropped, guidance more cautious, term freq up), concerning earnings quality signals, bearish tension readings, and sentiment panel β all deterministic, no LLM, each alert retaining source + significance - Earnings Quality signals now always-expanded cards (2-col grid) instead of collapsed <details> chips - Promote Market Expectations out of expander into main body - Bull/Bear moved directly under exec summary (explicit request) - Reorder: snapshot strip β exec summary β strengths/concerns β watch-outs β earnings quality β market expectations β tensions β changes/catalysts - Add earnings_quality_card() component to dashboard/components.py - Integrate dashboard/agent_graph.py live SVG into generation trace view Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>947b6dd