Spaces:
Sleeping
Sleeping
Commit History
-
fix: expose CHECK_REQUIRED periods as field-level-disclosed evidence instead of hiding entire rowsβ
get_financial_metrics (the agent's primary tool for anchoring numeric claims) only returned rows with data_quality_status == VERIFIED, discarding entire filing periods whenever a single secondary field (most often free_cash_flow, backfilled from yfinance) carried a disclosed fallback warning. For NVDA this hid the 6 most recent quarters (620 days), for GOOGL ~21 months, even though revenue/EPS/ margins on those rows come straight from SEC XBRL. Now VERIFIED and CHECK_REQUIRED rows are both exposed, with the real status and quality_warnings in evidence metadata so only the specific flagged field is masked/disclosed downstream (dashboard/financials.py, dashboard/market_read.py) rather than the whole period. Only rows with no citable SEC lineage (LEGACY_UNVERIFIED) are still excluded. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>d65dc97
-
feat: multi-provider LLM support, prominent chat, design pass, and new analyticsβ
- Add agent/llm.py provider factory (Anthropic/OpenAI) with a sidebar model picker so visitors can paste their own API key instead of relying solely on the server's; thread the resulting config through generation, chat, and translation. - Promote Chat to primary nav (was buried under a secondary "Evidence tool" heading) with suggested-question chips and a "sources searched" line. - Fix a pre-existing bug where every nav/CTA color accent silently no-oped (Streamlit exposes st.button(key=...) as a `st-key-{key}` wrapper class, not a `key` attribute) and tighten the palette to three families (emerald brand, violet AI, semantic bull/bear). - Add a "Sources analyzed" provenance card, quarter/annual basis split on the financials grid, and cross-category signal dedup. - Add valuation + peer comparison, next-catalysts, brief-vs-brief delta, and one-page PDF export. - Rename the product from Primer to Amplegest across the app, docs, and the Hugging Face Space (old URL redireβ¦7880373
-
feat: add since_release_price_reaction_pct β cumulative return from earnings release to todayβ
Closes the gap for users who generate reports weeks after a release. d1/d5 remain as historical anchors; the new metric shows how much the stock has moved from the release close to the latest available close (as of report generation, refreshed daily via 24h cache). Pipeline: fetch_price_reaction β get_analyst_expectations tool β MarketExpectations schema β agent prompt β brief β market_read.build() β Print panel chip + since_release_reaction_pct CSV column. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>5a39d9f
-
fix: verdict layout, N/A market pulse, impact badge colorsβ
- agent/tools.py: get_analyst_expectations now emits exact schema field names (consensus_rev_est_bn, revision_30d_pct, d1/d5_price_reaction_pct) so the LLM copies values verbatim instead of renaming β eliminates silent null drops via Pydantic extra="ignore" - agent/prompts.py: MarketExpectations instruction now explicitly lists each field name and forbids renaming - dashboard/verdict.py: - Market Pulse chips hidden when value is None (no more "N/A" display) - AI Deeper Band moved directly after AI Synthesis (all AI interpretation grouped before sourced facts) - Bull/Bear rendered as paired rows (st.columns per pair) so cards align horizontally regardless of count asymmetry - dashboard/theme.py: IMPACT_COLOR/BG/BORDER replaced by per-level slate tokens (HIGH=slate-900, MED=slate-500, LOW=outline slate-300) - dashboard/components.py: impact_badge() rewritten β compact tier labels (HIGH/MED/LOW) with severity colors, drops dots and "Impact" word Co-Authored-By: β¦d42057a
-
fix: background generation, parallel tools, prompt caching, Tavily cacheβ
Bug fixes: - Generation now runs in a background thread so sidebar nav clicks no longer cancel in-flight graph.stream β brief persists regardless - @st.fragment polls the trace every 400ms; auto-navs to Verdict when done - Generate Brief button disabled while generation is running (no double-spawn) - Synthesis streamed via llm_plain.stream() to show in-progress indicator Latency improvements: - Tool calls within a round dispatched in parallel via ThreadPoolExecutor - cache_control: ephemeral on SYSTEM_PROMPT and SYNTHESIS_STRUCTURED_PROMPT reduces input tokens per agent round by ~80-90% after first cache hit - storage/news_cache.py: 1-hour SQLite TTL cache for Tavily news results - Reranker (BAAI/bge-reranker-base) eagerly loaded at app startup to avoid cold-start penalty on the first search_filing/search_transcript call Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>2401ce5 -
deploy: Primer app for HF Spaces β clean orphan historyβ
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>35676b4