{
  "stage": "executed_existing_connector_unit_tests",
  "date": "2026-10-11",
  "connector_commit": "01f7a0c05c1b2f885829abd569e5c0af1da1a0d4",
  "framework_commit": "c95f83dfafa748801ab2be4855e6fcffc93804e4",
  "python": "3.12.12",
  "platform": "macOS arm64",
  "observed_terminal_summary": "172 passed in 21.31s",
  "tests": 172,
  "failures": 0,
  "errors": 0,
  "skipped": 0,
  "test_names": [
    "tests.test_auth.test_tokens_are_stored_owner_only",
    "tests.test_auth.test_the_token_directory_is_owner_only",
    "tests.test_auth.test_building_a_provider_does_not_bind_the_callback_port",
    "tests.test_auth.test_the_non_interactive_flow_refuses_to_open_a_browser",
    "tests.test_auth.test_the_callback_records_the_code_the_state_and_the_issuer",
    "tests.test_auth.test_a_fresh_access_token_is_returned_without_a_request",
    "tests.test_auth.test_an_expired_access_token_is_refreshed_in_a_fresh_process",
    "tests.test_auth.test_a_cached_token_endpoint_skips_discovery",
    "tests.test_auth.test_a_kept_refresh_token_survives_a_response_that_omits_it",
    "tests.test_auth.test_a_confidential_client_sends_the_secret_it_was_issued",
    "tests.test_auth.test_a_failed_refresh_reads_as_not_connected",
    "tests.test_auth.test_a_refresh_that_got_no_answer_is_not_a_lost_connection[_no_route]",
    "tests.test_auth.test_a_refresh_that_got_no_answer_is_not_a_lost_connection[_server_error]",
    "tests.test_auth.test_a_refresh_that_got_no_answer_is_not_a_lost_connection[_another_refusal]",
    "tests.test_auth.test_no_stored_token_reads_as_not_connected",
    "tests.test_cli.test_an_impossible_date_is_refused_before_any_model_runs",
    "tests.test_cli.test_a_misshaped_date_is_refused",
    "tests.test_cli.test_a_ticker_that_is_not_a_ticker_is_refused[SAP DE; rm -rf /]",
    "tests.test_cli.test_a_ticker_that_is_not_a_ticker_is_refused[...]",
    "tests.test_cli.test_a_ticker_that_is_not_a_ticker_is_refused[___]",
    "tests.test_cli.test_a_ticker_that_is_not_a_ticker_is_refused[AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]",
    "tests.test_cli.test_analyze_stops_at_the_missing_connection_before_the_llm",
    "tests.test_cli.test_a_failure_is_one_line_not_a_traceback",
    "tests.test_cli.test_replay_reports_the_counts_and_fails_when_anything_was_rejected",
    "tests.test_cli.test_a_failed_post_reports_the_outbox_as_an_error",
    "tests.test_cli.test_replay_of_an_empty_outbox_succeeds",
    "tests.test_cli.test_analyze_points_the_core_categories_at_investboard_without_touching_the_default",
    "tests.test_cli.test_analyze_keeps_the_framework_vendors_on_request",
    "tests.test_cli.test_an_unknown_vendor_is_refused_before_the_analysis",
    "tests.test_cli.test_analyze_registers_the_subject_first_when_asked",
    "tests.test_cli.test_a_second_registration_says_so",
    "tests.test_cli.test_analyze_stops_before_any_model_runs_when_the_framework_is_missing",
    "tests.test_cli.test_replay_asks_for_the_framework_too",
    "tests.test_cli.test_status_needs_no_framework",
    "tests.test_client.test_post_run_sends_bearer_and_idempotency_key",
    "tests.test_client.test_post_run_maps_refusals[401-unauthorized]",
    "tests.test_client.test_post_run_maps_refusals[402-access_paused]",
    "tests.test_client.test_post_run_maps_refusals[413-payload_too_large]",
    "tests.test_client.test_post_run_maps_refusals[422-subject_unresolvable]",
    "tests.test_client.test_post_run_maps_refusals[429-daily_cap_reached]",
    "tests.test_client.test_list_runs_builds_the_query",
    "tests.test_client.test_the_ohlcv_read_returns_the_csv_text_and_a_refusal_still_reads_the_envelope",
    "tests.test_client.test_the_json_reads_unwrap_data",
    "tests.test_context.test_the_policy_block_carries_the_document_verbatim",
    "tests.test_context.test_the_position_block_describes_the_holding_in_plain_sentences",
    "tests.test_context.test_an_empty_position_says_so",
    "tests.test_context.test_a_money_field_the_server_left_out_is_named_not_invented",
    "tests.test_context.test_a_holding_the_server_could_not_value_says_so",
    "tests.test_context.test_a_household_weight_the_server_could_not_measure_is_said_not_printed",
    "tests.test_context.test_a_holding_with_no_row_in_a_book_with_no_weight_says_both",
    "tests.test_context.test_a_weight_is_quoted_with_the_book_it_was_measured_over",
    "tests.test_context.test_a_single_holding_is_counted_in_the_singular",
    "tests.test_context.test_an_unmeasured_weight_carries_the_counts_that_explain_it",
    "tests.test_context.test_counts_the_server_did_not_send_are_not_invented",
    "tests.test_context.test_the_freshness_claim_is_the_servers_date_never_the_word_today",
    "tests.test_context.test_the_blocks_are_fetched_and_joined_after_the_framework_context",
    "tests.test_context.test_no_policy_is_stated_and_out_of_scope_is_raised_with_the_hint",
    "tests.test_context.test_a_404_that_does_not_say_no_policy_is_an_ordinary_refusal[no reason]",
    "tests.test_context.test_a_404_that_does_not_say_no_policy_is_an_ordinary_refusal[another reason]",
    "tests.test_context.test_a_read_that_never_completed_names_investboard_the_read_and_the_remedy[the policy read]",
    "tests.test_context.test_a_read_that_never_completed_names_investboard_the_read_and_the_remedy[the position read]",
    "tests.test_framework.test_the_installed_framework_is_recognised",
    "tests.test_framework.test_no_framework_at_all_names_the_install_command",
    "tests.test_framework.test_the_pypi_namesake_is_told_apart_from_the_framework",
    "tests.test_framework.test_require_raises_with_the_same_message",
    "tests.test_graph.test_an_outbox_entry_is_owner_only",
    "tests.test_graph.test_a_hostile_run_id_cannot_escape_the_outbox",
    "tests.test_graph.test_the_written_entry_leaves_no_temporary_behind",
    "tests.test_graph.test_a_400_is_not_retried",
    "tests.test_graph.test_a_503_is_retried_three_times",
    "tests.test_graph.test_replay_sets_a_permanent_refusal_aside_and_keeps_going[400]",
    "tests.test_graph.test_replay_sets_a_permanent_refusal_aside_and_keeps_going[413]",
    "tests.test_graph.test_replay_sets_a_permanent_refusal_aside_and_keeps_going[422]",
    "tests.test_graph.test_replay_keeps_a_requeue_refusal_in_the_queue[401]",
    "tests.test_graph.test_replay_keeps_a_requeue_refusal_in_the_queue[402]",
    "tests.test_graph.test_replay_keeps_a_requeue_refusal_in_the_queue[429]",
    "tests.test_graph.test_a_second_refusal_does_not_overwrite_the_first",
    "tests.test_graph.test_replay_stops_on_a_transient_failure_and_leaves_the_file",
    "tests.test_graph.test_replay_of_an_empty_outbox_reports_nothing",
    "tests.test_graph.test_the_instrument_context_carries_the_two_blocks",
    "tests.test_payload.test_run_id_is_deterministic_per_ticker_date_and_start",
    "tests.test_payload.test_payload_reads_the_rendered_decision_and_proposal",
    "tests.test_payload.test_both_timestamps_are_utc_with_a_z_suffix[started0-completed0]",
    "tests.test_payload.test_both_timestamps_are_utc_with_a_z_suffix[started1-completed1]",
    "tests.test_payload.test_an_offset_timestamp_is_converted_not_relabelled",
    "tests.test_payload.test_unparseable_decision_becomes_review",
    "tests.test_payload.test_a_bare_rating_line_is_read_by_the_frameworks_own_extractor",
    "tests.test_payload.test_a_bold_heading_inside_a_thesis_does_not_truncate_it",
    "tests.test_payload.test_a_rating_quoted_inside_a_thesis_does_not_override_the_real_one",
    "tests.test_payload.test_number_parses_only_unambiguous_single_numbers[260.0-260.0]",
    "tests.test_payload.test_number_parses_only_unambiguous_single_numbers[1.234-1.234]",
    "tests.test_payload.test_number_parses_only_unambiguous_single_numbers[0.085-0.085]",
    "tests.test_payload.test_number_parses_only_unambiguous_single_numbers[12.345-12.345]",
    "tests.test_payload.test_number_parses_only_unambiguous_single_numbers[$1,250-1250.0]",
    "tests.test_payload.test_number_parses_only_unambiguous_single_numbers[1,234.56-1234.56]",
    "tests.test_payload.test_number_parses_only_unambiguous_single_numbers[1.234,50-1234.5]",
    "tests.test_payload.test_number_parses_only_unambiguous_single_numbers[EUR 241.5-241.5]",
    "tests.test_payload.test_number_parses_only_unambiguous_single_numbers[290-290.0]",
    "tests.test_payload.test_number_parses_only_unambiguous_single_numbers[We see 12-15% upside to 290-None]",
    "tests.test_payload.test_number_parses_only_unambiguous_single_numbers[12-15% upside to 290-None]",
    "tests.test_payload.test_number_parses_only_unambiguous_single_numbers[1,25-None]",
    "tests.test_payload.test_number_parses_only_unambiguous_single_numbers[-None]",
    "tests.test_payload.test_number_parses_only_unambiguous_single_numbers[None-None]",
    "tests.test_payload.test_a_rendered_price_target_survives_the_round_trip[1.234]",
    "tests.test_payload.test_a_rendered_price_target_survives_the_round_trip[0.085]",
    "tests.test_payload.test_a_rendered_price_target_survives_the_round_trip[260.0]",
    "tests.test_payload.test_a_rendered_price_target_survives_the_round_trip[1250.0]",
    "tests.test_payload.test_missing_trader_plan_omits_the_proposal",
    "tests.test_vendor.test_importing_the_module_registers_the_eight_methods_and_nothing_else",
    "tests.test_vendor.test_stock_data_hands_the_server_csv_through_unchanged",
    "tests.test_vendor.test_an_empty_window_is_no_market_data",
    "tests.test_vendor.test_indicators_are_computed_locally_in_the_framework_layout",
    "tests.test_vendor.test_fundamentals_render_the_label_lines",
    "tests.test_vendor.test_key_metrics_dated_after_the_analysis_date_are_not_the_latest",
    "tests.test_vendor.test_a_dated_key_metric_is_said_to_be_as_of_and_not_also_called_current",
    "tests.test_vendor.test_a_key_metric_with_no_date_cannot_be_bounded_and_says_so",
    "tests.test_vendor.test_an_undated_analysis_bounds_nothing_and_notes_nothing",
    "tests.test_vendor.test_statements_render_as_line_items_by_period",
    "tests.test_vendor.test_news_renders_the_framework_blocks_and_the_empty_sentence",
    "tests.test_vendor.test_insider_transactions_render_as_csv_or_the_empty_sentence",
    "tests.test_vendor.test_refusals_map_to_the_framework_errors[429-daily_read_cap_reached-VendorRateLimitError]",
    "tests.test_vendor.test_refusals_map_to_the_framework_errors[503-provider_unavailable-VendorRateLimitError]",
    "tests.test_vendor.test_refusals_map_to_the_framework_errors[401-unauthorized-VendorNotConfiguredError]",
    "tests.test_vendor.test_refusals_map_to_the_framework_errors[402-access_paused-VendorNotConfiguredError]",
    "tests.test_vendor.test_refusals_map_to_the_framework_errors[403-subject_out_of_scope-VendorNotConfiguredError]",
    "tests.test_vendor.test_refusals_map_to_the_framework_errors[422-subject_unresolvable-NoMarketDataError]",
    "tests.test_vendor.test_a_rate_limit_is_logged_because_the_router_drops_its_message[a daily cap]",
    "tests.test_vendor.test_a_rate_limit_is_logged_because_the_router_drops_its_message[a provider outage]",
    "tests.test_vendor.test_a_configuration_fault_is_not_logged_because_the_router_keeps_it",
    "tests.test_vendor.test_the_day_the_server_has_not_served_yet_is_not_called_a_market_closure",
    "tests.test_vendor.test_a_traded_day_without_a_computed_value_reads_na_not_a_holiday",
    "tests.test_vendor.test_a_frame_too_short_for_the_200_sma_reports_the_gap_not_a_plausible_number",
    "tests.test_vendor.test_a_session_stamped_with_an_offset_is_refused_rather_than_re_dated",
    "tests.test_vendor.test_the_macd_family_is_na_until_its_slow_ema_is_covered[macd]",
    "tests.test_vendor.test_the_macd_family_is_na_until_its_slow_ema_is_covered[macds]",
    "tests.test_vendor.test_the_macd_family_is_na_until_its_slow_ema_is_covered[macdh]",
    "tests.test_vendor.test_the_macd_family_prints_once_its_slow_ema_is_covered[macd]",
    "tests.test_vendor.test_the_macd_family_prints_once_its_slow_ema_is_covered[macds]",
    "tests.test_vendor.test_the_macd_family_prints_once_its_slow_ema_is_covered[macdh]",
    "tests.test_vendor.test_a_warm_up_that_reaches_into_the_reported_window_says_so",
    "tests.test_vendor.test_an_incomplete_served_session_is_declared_rather_than_masked",
    "tests.test_vendor.test_every_supported_indicator_derives_a_warm_up_floor",
    "tests.test_vendor.test_the_window_derivation_survives_a_stockstats_without_dft_windows",
    "tests.test_vendor.test_the_first_row_of_the_frame_is_never_a_reported_value",
    "tests.test_vendor.test_a_derived_window_shorter_than_the_frame_still_reports_its_days",
    "tests.test_vendor.test_one_null_volume_among_valid_rows_is_absorbed_by_the_rolling_sums",
    "tests.test_vendor.test_a_value_above_a_million_renders_decimal_not_scientific",
    "tests.test_vendor.test_volume_the_server_left_null_reads_na_on_the_days_that_traded",
    "tests.test_vendor.test_every_supported_indicator_renders_over_one_frame[atr]",
    "tests.test_vendor.test_every_supported_indicator_renders_over_one_frame[boll]",
    "tests.test_vendor.test_every_supported_indicator_renders_over_one_frame[boll_lb]",
    "tests.test_vendor.test_every_supported_indicator_renders_over_one_frame[boll_ub]",
    "tests.test_vendor.test_every_supported_indicator_renders_over_one_frame[close_10_ema]",
    "tests.test_vendor.test_every_supported_indicator_renders_over_one_frame[close_200_sma]",
    "tests.test_vendor.test_every_supported_indicator_renders_over_one_frame[close_50_sma]",
    "tests.test_vendor.test_every_supported_indicator_renders_over_one_frame[macd]",
    "tests.test_vendor.test_every_supported_indicator_renders_over_one_frame[macdh]",
    "tests.test_vendor.test_every_supported_indicator_renders_over_one_frame[macds]",
    "tests.test_vendor.test_every_supported_indicator_renders_over_one_frame[mfi]",
    "tests.test_vendor.test_every_supported_indicator_renders_over_one_frame[rsi]",
    "tests.test_vendor.test_every_supported_indicator_renders_over_one_frame[vwma]",
    "tests.test_vendor.test_a_truncated_history_is_declared_above_the_description",
    "tests.test_vendor.test_the_window_covers_the_warm_up",
    "tests.test_vendor.test_a_look_back_longer_than_one_read_is_clamped_not_refused",
    "tests.test_vendor.test_a_crlf_body_still_finds_the_header_block",
    "tests.test_vendor.test_a_body_that_is_not_the_csv_never_reaches_the_agents",
    "tests.test_vendor.test_the_client_is_rebuilt_when_the_token_has_been_refreshed",
    "tests.test_vendor.test_the_token_is_read_under_the_lock_that_guards_the_client",
    "tests.test_vendor.test_a_superseded_client_is_closed_once_nothing_can_still_be_serving_it",
    "tests.test_vendor.test_a_client_closed_under_an_in_flight_read_is_a_send_it_again",
    "tests.test_vendor.test_a_refusal_without_details_still_names_the_reason",
    "tests.test_vendor.test_an_unreachable_server_and_a_missing_connection_map_to_the_framework_errors"
  ],
  "limits": "Mock-based suite. Not a live server, model behavior or v0.6.0 compatibility test."
}
