SYNTHETIC LOCAL PROTOCOL TESTS — NO LIVE BROKER CONTACT OR REAL TRADES

test_cli_run_requires_explicit_live_flag (test_native.JournalTests.test_cli_run_requires_explicit_live_flag) ... {"at":"2026-10-28T09:48:48.526578+00:00","event":"PROJECT_INITIALIZED","policy":"empty_INDPRO_means_HOLD","project":"/tmp/tmp2zspkcht"}
ok
test_cli_verify_does_not_need_credentials (test_native.JournalTests.test_cli_verify_does_not_need_credentials) ... {"at":"2026-10-28T09:48:48.820570+00:00","event":"PROJECT_INITIALIZED","policy":"empty_INDPRO_means_HOLD","project":"/tmp/tmpis_w32an"}
ok
test_every_observation_is_fixed_point_and_floor_survives (test_native.JournalTests.test_every_observation_is_fixed_point_and_floor_survives) ... {"at":"2026-10-28T09:48:49.144412+00:00","event":"PROJECT_INITIALIZED","policy":"empty_INDPRO_means_HOLD","project":"/tmp/tmppxdbk5q5"}
ok
test_halt_persists_and_blocks_entry (test_native.JournalTests.test_halt_persists_and_blocks_entry) ... {"at":"2026-10-28T09:48:49.157828+00:00","event":"PROJECT_INITIALIZED","policy":"empty_INDPRO_means_HOLD","project":"/tmp/tmpt27d_brl"}
{"at":"2026-10-28T09:48:49.169111+00:00","event":"HALT","reason":"test"}
ok
test_hash_tamper_detection (test_native.JournalTests.test_hash_tamper_detection) ... {"at":"2026-10-28T09:48:49.174563+00:00","event":"PROJECT_INITIALIZED","policy":"empty_INDPRO_means_HOLD","project":"/tmp/tmpshe8komv"}
ok
test_macro_visibility_and_month_gaps (test_native.JournalTests.test_macro_visibility_and_month_gaps) ... {"at":"2026-10-28T09:48:49.188284+00:00","event":"PROJECT_INITIALIZED","policy":"empty_INDPRO_means_HOLD","project":"/tmp/tmp2twzf76_"}
ok
test_nonce_unique_across_threads (test_native.JournalTests.test_nonce_unique_across_threads) ... {"at":"2026-10-28T09:48:49.198402+00:00","event":"PROJECT_INITIALIZED","policy":"empty_INDPRO_means_HOLD","project":"/tmp/tmpe0xe9vvm"}
ok
test_pending_restart_never_resubmits (test_native.JournalTests.test_pending_restart_never_resubmits) ... {"at":"2026-10-28T09:48:49.230785+00:00","event":"PROJECT_INITIALIZED","policy":"empty_INDPRO_means_HOLD","project":"/tmp/tmpqzbnrxvt"}
{"at":"2026-10-28T09:48:49.247768+00:00","event":"HALT","reason":"restart_with_unresolved_order_intent"}
ok
test_receipt_lesson_and_idempotence (test_native.JournalTests.test_receipt_lesson_and_idempotence) ... {"at":"2026-10-28T09:48:49.249648+00:00","event":"PROJECT_INITIALIZED","policy":"empty_INDPRO_means_HOLD","project":"/tmp/tmpb3t9_k3q"}
ok
test_scope_binding (test_native.JournalTests.test_scope_binding) ... {"at":"2026-10-28T09:48:49.267341+00:00","event":"PROJECT_INITIALIZED","policy":"empty_INDPRO_means_HOLD","project":"/tmp/tmpdpwsxifj"}
ok
test_accounting_rejects_binary_float (test_native.PolicyTests.test_accounting_rejects_binary_float) ... ok
test_acquisition_cost_protection (test_native.PolicyTests.test_acquisition_cost_protection) ... ok
test_decimal_only (test_native.PolicyTests.test_decimal_only) ... ok
test_empty_indicators_hold (test_native.PolicyTests.test_empty_indicators_hold) ... ok
test_floor_milestones_and_permanent_ratchet (test_native.PolicyTests.test_floor_milestones_and_permanent_ratchet) ... ok
test_strategy_uses_lessons (test_native.PolicyTests.test_strategy_uses_lessons) ... ok
test_threshold_and_cumulative_penalty (test_native.PolicyTests.test_threshold_and_cumulative_penalty) ... ok
test_wire_preserves_decimal_numbers (test_native.PolicyTests.test_wire_preserves_decimal_numbers) ... ok
test_alpaca_native_buy_risk_breach_liquidates (test_native.ProtocolTests.test_alpaca_native_buy_risk_breach_liquidates) ... {"at":"2026-10-28T09:48:49.293297+00:00","event":"PROJECT_INITIALIZED","policy":"empty_INDPRO_means_HOLD","project":"/tmp/tmp54onhu35"}
{"at":"2026-10-28T09:48:50.356206+00:00","event":"HALT","reason":"equity_below_floor"}
{"at":"2026-10-28T09:48:50.370603+00:00","event":"LIQUIDATION_CONFIRMED"}
{"at":"2026-10-28T09:48:50.447365+00:00","event":"HALT","reason":"session_shutdown"}
{"at":"2026-10-28T09:48:50.449935+00:00","event":"HALT","reason":"session_shutdown"}
{"at":"2026-10-28T09:48:50.470973+00:00","event":"LIQUIDATION_CONFIRMED"}
ok
test_check_is_read_only_at_broker (test_native.ProtocolTests.test_check_is_read_only_at_broker) ... {"at":"2026-10-28T09:48:50.483145+00:00","event":"PROJECT_INITIALIZED","policy":"empty_INDPRO_means_HOLD","project":"/tmp/tmp1smtlk6t"}
{"at":"2026-10-28T09:48:50.521064+00:00","event":"READ_ONLY_CHECK","halted":false,"snapshot":{"at":"2026-10-28T09:48:50.519466+00:00","cash":"500","equity":"500","gross_asset_value":"0","quantity":"0","source":"alpaca_REST_account_and_positions"},"unresolved_intents":0}
ok
test_empty_macro_streams_and_risk_samples_without_buy (test_native.ProtocolTests.test_empty_macro_streams_and_risk_samples_without_buy) ... {"at":"2026-10-28T09:48:50.526477+00:00","event":"PROJECT_INITIALIZED","policy":"empty_INDPRO_means_HOLD","project":"/tmp/tmp_z5bh8zy"}
{"at":"2026-10-28T09:48:52.601701+00:00","event":"HALT","reason":"session_shutdown"}
{"at":"2026-10-28T09:48:53.573750+00:00","event":"HALT","reason":"session_shutdown"}
{"at":"2026-10-28T09:48:53.590215+00:00","event":"LIQUIDATION_CONFIRMED"}
ok
test_explicit_rearm_preserves_risk_history (test_native.ProtocolTests.test_explicit_rearm_preserves_risk_history) ... {"at":"2026-10-28T09:48:53.599528+00:00","event":"PROJECT_INITIALIZED","policy":"empty_INDPRO_means_HOLD","project":"/tmp/tmpdcaz38r2"}
{"at":"2026-10-28T09:48:53.613086+00:00","event":"HALT","reason":"operator_stop"}
{"at":"2026-10-28T09:48:53.631300+00:00","event":"REARMED","preserved_lesson_count":0}
ok
test_external_cash_movement_halts_and_flattens (test_native.ProtocolTests.test_external_cash_movement_halts_and_flattens) ... {"at":"2026-10-28T09:48:53.638991+00:00","event":"PROJECT_INITIALIZED","policy":"empty_INDPRO_means_HOLD","project":"/tmp/tmp3aucm8_l"}
{"at":"2026-10-28T09:48:53.664242+00:00","event":"HALT","reason":"account_reconciliation_mismatch"}
{"at":"2026-10-28T09:48:53.677819+00:00","event":"LIQUIDATION_CONFIRMED"}
ok
test_kraken_complete_session_and_shutdown_liquidation (test_native.ProtocolTests.test_kraken_complete_session_and_shutdown_liquidation) ... {"at":"2026-10-28T09:48:53.706857+00:00","event":"PROJECT_INITIALIZED","policy":"empty_INDPRO_means_HOLD","project":"/tmp/tmpfh408hjz"}
{"at":"2026-10-28T09:48:53.736083+00:00","event":"PROJECT_INITIALIZED","policy":"empty_INDPRO_means_HOLD","project":"/tmp/tmpfh408hjz/kraken-project"}
{"at":"2026-10-28T09:48:55.861246+00:00","event":"HALT","reason":"session_shutdown"}
{"at":"2026-10-28T09:48:56.810275+00:00","event":"HALT","reason":"session_shutdown"}
{"at":"2026-10-28T09:48:56.846999+00:00","event":"LIQUIDATION_CONFIRMED"}
ok
test_kraken_signed_rest_and_native_socket_order (test_native.ProtocolTests.test_kraken_signed_rest_and_native_socket_order) ... {"at":"2026-10-28T09:48:56.855411+00:00","event":"PROJECT_INITIALIZED","policy":"empty_INDPRO_means_HOLD","project":"/tmp/tmp4valco2_"}
ok
test_partial_fill_is_accounted_and_halts (test_native.ProtocolTests.test_partial_fill_is_accounted_and_halts) ... {"at":"2026-10-28T09:48:56.901185+00:00","event":"PROJECT_INITIALIZED","policy":"empty_INDPRO_means_HOLD","project":"/tmp/tmph9gf245g"}
{"at":"2026-10-28T09:48:57.141385+00:00","event":"HALT","reason":"execution_failure_Fault"}
{"at":"2026-10-28T09:48:57.141437+00:00","error_type":"Fault","event":"EXECUTION_FAILURE","fault":"entry_or_exit_not_fully_filled"}
{"at":"2026-10-28T09:48:57.141630+00:00","event":"HALT","reason":"session_shutdown"}
{"at":"2026-10-28T09:48:57.964449+00:00","event":"HALT","reason":"session_shutdown"}
{"at":"2026-10-28T09:48:58.001569+00:00","event":"LIQUIDATION_CONFIRMED"}
ok
test_rearm_refuses_unresolved_intent (test_native.ProtocolTests.test_rearm_refuses_unresolved_intent) ... {"at":"2026-10-28T09:48:58.010993+00:00","event":"PROJECT_INITIALIZED","policy":"empty_INDPRO_means_HOLD","project":"/tmp/tmp88rchtzq"}
{"at":"2026-10-28T09:48:58.033020+00:00","event":"HALT","reason":"test"}
ok
test_rejected_or_stale_bar_cannot_order (test_native.ProtocolTests.test_rejected_or_stale_bar_cannot_order) ... {"at":"2026-10-28T09:48:58.061685+00:00","event":"PROJECT_INITIALIZED","policy":"empty_INDPRO_means_HOLD","project":"/tmp/tmp3u0hom_4"}
{"at":"2026-10-28T09:48:58.346529+00:00","event":"HALT","reason":"execution_failure_Fault"}
{"at":"2026-10-28T09:48:58.346656+00:00","error_type":"Fault","event":"EXECUTION_FAILURE","fault":"stale_future_or_invalid_bar"}
{"at":"2026-10-28T09:48:58.346892+00:00","event":"HALT","reason":"session_shutdown"}
{"at":"2026-10-28T09:48:59.168107+00:00","event":"HALT","reason":"session_shutdown"}
{"at":"2026-10-28T09:48:59.185987+00:00","event":"LIQUIDATION_CONFIRMED"}
ok
test_risk_cancels_inflight_strategy_order_before_waiting_for_gate (test_native.ProtocolTests.test_risk_cancels_inflight_strategy_order_before_waiting_for_gate) ... {"at":"2026-10-28T09:48:59.199872+00:00","event":"PROJECT_INITIALIZED","policy":"empty_INDPRO_means_HOLD","project":"/tmp/tmpsip_91q9"}
{"at":"2026-10-28T09:49:00.259155+00:00","event":"HALT","reason":"equity_below_floor"}
{"at":"2026-10-28T09:49:00.439656+00:00","event":"LIQUIDATION_CONFIRMED"}
{"at":"2026-10-28T09:49:00.478404+00:00","event":"HALT","reason":"execution_failure_Fault"}
{"at":"2026-10-28T09:49:00.478471+00:00","error_type":"Fault","event":"EXECUTION_FAILURE","fault":"entry_or_exit_not_fully_filled"}
{"at":"2026-10-28T09:49:00.478522+00:00","event":"HALT","reason":"session_shutdown"}
{"at":"2026-10-28T09:49:00.479234+00:00","event":"HALT","reason":"session_shutdown"}
{"at":"2026-10-28T09:49:00.490059+00:00","event":"LIQUIDATION_CONFIRMED"}
ok
test_risk_worker_samples_without_strategy_loop (test_native.ProtocolTests.test_risk_worker_samples_without_strategy_loop) ... {"at":"2026-10-28T09:49:00.500802+00:00","event":"PROJECT_INITIALIZED","policy":"empty_INDPRO_means_HOLD","project":"/tmp/tmp4c86t3b6"}
ok
test_unknown_sell_is_never_blindly_duplicated (test_native.ProtocolTests.test_unknown_sell_is_never_blindly_duplicated) ... {"at":"2026-10-28T09:49:03.538717+00:00","event":"PROJECT_INITIALIZED","policy":"empty_INDPRO_means_HOLD","project":"/tmp/tmpig34cmt8"}
{"at":"2026-10-28T09:49:03.574943+00:00","event":"HALT","reason":"synthetic_unknown_sell"}
{"at":"2026-10-28T09:49:03.585669+00:00","error_type":"Fault","event":"LIQUIDATION_UNCONFIRMED"}
ok
test_unknown_submission_recovered_without_resubmission (test_native.ProtocolTests.test_unknown_submission_recovered_without_resubmission) ... {"at":"2026-10-28T09:49:03.592609+00:00","event":"PROJECT_INITIALIZED","policy":"empty_INDPRO_means_HOLD","project":"/tmp/tmpf7wyxnij"}
ok

----------------------------------------------------------------------
Ran 32 tests in 15.117s

OK
