task_physics__collision__sticky_collision_speed_value¶
Summary¶
- Domain:
physics - Scene id:
collision - Implementation scene:
collision - Implementation source:
src/trace_tasks/tasks/physics/collision/sticky_collision_speed_value.py
Task Contract¶
Computes the speed magnitude of the combined puck after a sticky collision.
Program Contract¶
Program: speed(final_velocity(momentum_sum(pucks_a_b), combined_mass), rounding=one_decimal); scene=collision; scope=sticky_collision_speed_value
Candidate set: the visible puck states, motion arrows or trails, impact marker, and labels inside the sticky_collision_speed_value objective scope.
Operands: pucks_a_b (semantic_role, allowed visible_input_pucks_A_B, source program_schema_concrete); combined_mass (semantic_role, allowed mass_A_plus_mass_B, source program_schema_concrete); one_decimal (semantic_role, allowed round_to_one_decimal_place, source program_schema_concrete).
Operation: evaluate speed over the candidate set using the visible quantities, relations, branch semantics, and formulas encoded in the program expression; generation enforces a unique final answer.
Output binding: answer uses the number schema; Answer precision: one_decimal
Annotation witnesses: segment_set witnesses from the finalized render. Annotation marks the two incoming velocity-arrow segments for puck A and puck B. Annotation and answer are projected from the same generated execution trace.
Query ids: single.
Reasoning Operations¶
Families: aggregation, formula_evaluation
Query Branches¶
| Query id | Program schema |
|---|---|
single |
speed(final_velocity(momentum_sum(pucks_a_b), combined_mass), rounding=one_decimal); scene=collision; scope=sticky_collision_speed_value |
Program Metadata¶
- Program signatures:
physics.momentum_speed_value - Base program contract:
speed(final_velocity(momentum_sum(pucks_a_b), combined_mass), rounding=one_decimal); scene=collision; scope=sticky_collision_speed_value - Parameter axes:
target_answer,target_speed_tenths,correct_option_letter,scene_variant,accent_color_name - Arguments:
pucks_a_b: semantic_role; allowedvisible_input_pucks_A_B; sourceprogram_schema_concretecombined_mass: semantic_role; allowedmass_A_plus_mass_B; sourceprogram_schema_concreteone_decimal: semantic_role; allowedround_to_one_decimal_place; sourceprogram_schema_concrete- Argument metadata status:
curated - Supported query ids:
single
Answer Contract¶
- Answer schema:
number - Answer precision:
one_decimal - Generator
answer_gt.type:number - The answer value is the final speed in m/s rounded to one decimal place.
- Current tuned answer support:
2.8,3.6,4.2,5.0, and5.7m/s.
Annotation Contract¶
- Annotation schema:
segment_set - Generator
annotation_gt.type:segment_set - Annotation marks the two incoming velocity-arrow segments for puck A and puck B.
- Annotation and answer are projected from the same generated execution trace.
Prompt And Trace Requirements¶
- Prompt text comes from
src/trace_tasks/resources/prompts/physics/collision/physics_collision_v1.json. - Speed prompts explicitly remind the solver to compute horizontal and vertical final velocity components from momentum divided by combined mass, then combine the perpendicular components.
- Render randomness, sampled fonts/styles, visible masses and speeds, rounded speed target, and verifier payloads are explicit in the instance trace.
- Diagrams must keep all quantities required for the speed calculation visible.