* chore: initial commit for feat/fast-reject-short-circuits branch
* test: fix fast-reject unit tests (25/25 passing)
- Fix test_normal_flow_without_abort: expected 'Bull Researcher' not
'Bear Researcher' — when current_response is empty the conditional
logic routes to Bull first (conditional_logic.py line 74)
- Analyst abort-instruction tests: replace closure-attribute hacks
(market_analyst.llm = ...) with patch() on prefetch_tools_parallel
and run_tool_loop so the tests run without network access
- Fix co_consts substring check: system_message is compiled into one
large string constant, so use any(...in str(c)...) instead of direct
tuple membership
- PM tests: create mock_llm before create_portfolio_manager so the
closure captures it and mock_llm.invoke.called assertions work; add
missing company_of_interest key to all state dicts
- Integration tests: merge analyst/PM node outputs back into state
({**state, **result}) instead of replacing it, preserving keys like
fundamentals_report and investment_debate_state; patch network calls;
fix normal-flow routing assertions to != 'Portfolio Manager' since
the exact next node depends on transient debate state
|
||
|---|---|---|
| .. | ||
| agent | ||
| portfolio | ||
| FINANCIAL_TOOLS_ANALYSIS.md | ||
| agent_dataflow.md | ||
| finnhub_evaluation.md | ||
| testing.md | ||
| upstream_pr_review.md | ||