case=pass_good expected=0 actual=0 === ROUTER STEP FACTS CONTRACT VALIDATION === step=TEST_PASS_GOOD decision=PASS all_ok=True structure_ok=True success_ok=True expected_absence_ok=True blockers_ok=True success_checks_count=2 expected_absence_count=1 case=stop_good_false_in_success expected=2 actual=2 === ROUTER STEP FACTS CONTRACT VALIDATION === step=TEST_STOP_GOOD_FALSE_IN_SUCCESS decision=STOP all_ok=False structure_ok=True success_ok=False expected_absence_ok=True blockers_ok=True success_checks_count=2 expected_absence_count=0 false_success_checks: - manual_agent_service_start_used case=stop_expected_absence_true expected=2 actual=2 === ROUTER STEP FACTS CONTRACT VALIDATION === step=TEST_STOP_EXPECTED_ABSENCE_TRUE decision=STOP all_ok=False structure_ok=True success_ok=True expected_absence_ok=False blockers_ok=True success_checks_count=1 expected_absence_count=1 true_expected_absence: - private_material_published case=stop_blocker expected=2 actual=2 === ROUTER STEP FACTS CONTRACT VALIDATION === step=TEST_STOP_BLOCKER decision=STOP all_ok=False structure_ok=True success_ok=True expected_absence_ok=True blockers_ok=False success_checks_count=1 expected_absence_count=1 blockers: - backend unreachable