{"alignment_metadata":{"alignment":"causal_post_state_to_next_action","history_policy":"drop_warmup_zero_initialized","required_target":false,"sample_segments":{"steady":[50,200],"transient":[2,50]},"warmup":2},"anchor":"upper","artifact_id":"rebuild-karman-re100-safe-mapped-20260717-per-scene-rear_shared-anchor-upper","deployment_expression":"-Cl_rear_a + (Cd_rear_s + Cl_F*Cl_rear_a)*(-0.16505978)","deployment_expression_hash":"fb695b9d0c60183a3abe0ac2cabaa8de1aff1d41fbba15883ccc81a2bd32b5a1","dt_c_metadata":{"per_scene":{"karman_re100":0.4},"unit":"D/U0"},"environment":{"numpy":"2.2.6","platform":"Linux-6.8.0-124-generic-x86_64-with-glibc2.35","pysr":"1.5.10","python":"3.10.20"},"feature_metadata":{"builder":"SR_analysis.utils.data_contracts.build_batch_dataset","definitions_module":"SR_analysis.utils.feature_builder","order":["u_s","u_a","u_c","v_s","v_a","v_c","Cd_F","Cd_rear_s","Cd_rear_a","Cd_tot","Cl_F","Cl_rear_s","Cl_rear_a","Cl_tot"]},"feature_names":["u_s","u_a","u_c","v_s","v_a","v_c","Cd_F","Cd_rear_s","Cd_rear_a","Cd_tot","Cl_F","Cl_rear_s","Cl_rear_a","Cl_tot"],"fitted_expression":"-Cl_rear_a + (Cd_rear_s + Cl_F*Cl_rear_a)*(-0.16505978)","fitted_expression_hash":"fb695b9d0c60183a3abe0ac2cabaa8de1aff1d41fbba15883ccc81a2bd32b5a1","g_metadata":{"fitted_heads":["rear_shared"],"front_rule":"front(Gx)=-front(x)","rear_rule":"lower(x)=-upper(Gx)","symmetry_mode":"mapped_shared","version":"legacy-mirror-front-odd-rear-swap-negate-v1"},"git_sha":"ca8ee5f238ee58eaaf48027ad026c35784f76d4d","model_type":"symbolic","output":{"definition":"cylinder_surface_tangential_velocity/U0","name":"alpha","native_action_index":1,"native_action_order":["front","upper","lower"],"unit":"dimensionless"},"provenance":{"data":{"dataset_hash":"72c1d3bf48c4d3b78baedb84c975efaa980ddefba9ffd0333e0299bcf340357e","paths":{"karman_re100":"/home/frank14f/DynamisLab/src/SR_analysis/data/karman/karman_re100/controlled.npz"},"per_scene_hashes":{"karman_re100":"ea869a4ea9097f687ea93a2b4ca0d6964da5abe30cd3d70a7decd88ec849c834"}},"fit":{"command":"src/SR_analysis/stage_2_fit.py --scene karman_re100 --mode per-scene --run-id rebuild-karman-re100-safe-mapped-20260717 --data-root src/SR_analysis/data/karman/karman_re100 --feature-set symmetry --sample-segment all --transient-count 50 --symmetry-mode mapped_shared --seed 0 --niterations 40","created_at":"2026-07-17T09:12:48.791413+00:00","diagnostic_metrics":{"mae":0.3848153189760414,"r2":0.9434366249143291},"environment":{"numpy":"2.2.6","platform":"Linux-6.8.0-124-generic-x86_64-with-glibc2.35","pysr":"1.5.10","python":"3.10.20"},"g_augmented":true,"git_sha":"ca8ee5f238ee58eaaf48027ad026c35784f76d4d","mode":"per-scene","n_samples":394,"niterations":40,"scene_augmented_sample_counts":{"karman_re100":394},"scene_sample_counts":{"karman_re100":197},"seed":0,"smoke":false,"source_n_samples":197,"symmetry_mode":"mapped_shared"},"pysr":{"binary_operators":["+","-","*"],"complexity":{"maxsize":15,"parsimony":0.01},"parameters":{"batching":false,"binary_operators":["+","-","*"],"complexity_of_constants":2,"deterministic":true,"maxsize":15,"niterations":40,"parallelism":"serial","parsimony":0.01,"population_size":33,"populations":30,"random_state":0,"tournament_selection_n":10,"unary_operators":["square"]},"unary_operators":["square"]}},"role":"rear_shared","run_id":"rebuild-karman-re100-safe-mapped-20260717","schema_version":"1.0","training_scenes":["karman_re100"]}
