{"schema_version":"1","interpretation":"data_only","hub_commit":"f97266a5cdd2c600cd376397a54892f08290df20","counts":{"memories":3,"recipes":194,"references":1897},"backend":"d1_filtered_lexical","coverage":{"complete":true},"results":[{"adapter_license":{"paths":["recipes/pybullet-ik-skill/run.py","recipes/pybullet-ik-skill/requirements.txt"],"scope":"Hub-authored adapter only; upstream terms remain applicable","spdx":"MIT","verified":true},"aliases":["ik","Inverse kinematics in headless procedural simulation"],"capabilities":["algorithm","ik","executable-json","source-adaptation"],"compatibility":[{"architecture":"x86_64","controller":"json-contract-v1","observation":"explicit-json-input","os":"linux","python":"3.10","robot":"synthetic-seven-axis-or-procedural-scene","runtime":"pybullet","runtime_version":"3.2.7","status":"hub_verified"}],"evidence_level":"task_complete","execution_interface":{"abstraction_level":0,"execution_domain":"simulation","input_transport":"json_file_or_inline","kind":"algorithm","language":"python","output_selector":"outputs","version":"1"},"framework":"pybullet","hub_prepare":true,"id":"pybullet-ik-skill","kind":"preparation_recipe","license":{"scope":"Example source code. Robot models, textures, logs, and third-party assets retain their own upstream licenses.","spdx":"Zlib","url":"https://github.com/bulletphysics/bullet3/blob/2c204c49e56ed15ec5fcfa71d199ab6d6570b3f5/LICENSE.txt","verified":true},"name":"Inverse kinematics in headless procedural simulation","python_requirement":">=3.10,<3.11","record_sha256":"9e451f5dfec426784d0bd5b2b7ceacbe3d1ef5a43170e406d09aff23d9358058","record_url":"https://hub.superfastrobotics.com/skills/pybullet-ik-skill/skill.json","record_version":"1.0.0","robots":["synthetic-seven-axis-or-procedural-scene"],"runtime":"pybullet","runtime_verification":"task_complete","source_commit":"2c204c49e56ed15ec5fcfa71d199ab6d6570b3f5","source_sha256":"f7c486f10b9f645d0577249d02855e076e8368babaa3d31ced6095e7162baee9","source_url":"https://github.com/bulletphysics/bullet3/tree/2c204c49e56ed15ec5fcfa71d199ab6d6570b3f5","summary":"Inverse kinematics in headless procedural simulation. Parameterized bounded JSON adapter; synthetic DIRECT simulation, no physical robot.","query_match":{"model":"task_lexical_v1","score":30,"matched_terms":["invers","kinematic"],"unmatched_terms":[]},"inspect_url":"https://api.superfastrobotics.com/v1/skills/pybullet-ik-skill?record_version=1.0.0&hub_commit=f97266a5cdd2c600cd376397a54892f08290df20&include=experience","selection_reason":{"basis":"task_lexical_v1","matched_terms":["invers","kinematic"],"unmatched_terms":[],"explicit_filters":{"runtime":"pybullet"},"caller_compatibility_verified":false},"start_url":"https://api.superfastrobotics.com/v1/start?q=pybullet-ik-skill&query_mode=all_terms&hub_commit=f97266a5cdd2c600cd376397a54892f08290df20&runtime=pybullet"}],"total":1,"limit":3,"offset":0,"query_mode":"task","search_semantics":"task_lexical_v1","query_terms":["invers","kinematic"],"candidate_scope":"hard_filtered_records","candidate_count":12,"candidate_limit":512,"next":null,"execution_performed":false,"next_action":"check_selected_environment_then_run_plan_within_task_scope","evidence_rule":"A lexical task match does not establish runtime compatibility or task completion.","selected":{"id":"pybullet-ik-skill","selection":"first_ranked_candidate_for_inspection; not_an_execution_decision","record":{"schema_version":"1","id":"pybullet-ik-skill","name":"Inverse kinematics in headless procedural simulation","summary":"Inverse kinematics in headless procedural simulation. Parameterized bounded JSON adapter; synthetic DIRECT simulation, no physical robot.","capabilities":["algorithm","ik","executable-json","source-adaptation"],"aliases":["ik","Inverse kinematics in headless procedural simulation"],"source":{"repository":"https://github.com/bulletphysics/bullet3","commit":"2c204c49e56ed15ec5fcfa71d199ab6d6570b3f5","paths":["LICENSE.txt","examples/pybullet/examples/inverse_kinematics.py"],"archive_url":"https://codeload.github.com/bulletphysics/bullet3/tar.gz/2c204c49e56ed15ec5fcfa71d199ab6d6570b3f5","archive_sha256":"f7c486f10b9f645d0577249d02855e076e8368babaa3d31ced6095e7162baee9","archive_bytes":139813655,"authors":["Erwin Coumans and Bullet Physics contributors"]},"license":{"spdx":"Zlib","url":"https://github.com/bulletphysics/bullet3/blob/2c204c49e56ed15ec5fcfa71d199ab6d6570b3f5/LICENSE.txt","verified":true,"scope":"Example source code. Robot models, textures, logs, and third-party assets retain their own upstream licenses."},"compatibility":[{"runtime":"pybullet","runtime_version":"3.2.7","robot":"synthetic-seven-axis-or-procedural-scene","controller":"json-contract-v1","observation":"explicit-json-input","os":"linux","architecture":"x86_64","python":"3.10","status":"hub_verified"}],"observation":{"required":["explicit_json_task_input"],"privileged_state":true,"description":"All inputs and outputs follow interface v1. Simulation adapters query exact synthetic simulator state; no perception or physical sensor compatibility."},"requirements":{"python":">=3.10,<3.11","packages":["numpy==1.26.4","pybullet==3.2.7"],"hardware":["x86_64 CPU; no GPU or robot required"],"rendering":"No display. Matplotlib Agg for numerical imports; PyBullet DIRECT for simulation.","api_keys":[],"network":["Pinned source archive once during preparation","PyPI for declared dependency installation"],"dependency_lock":"Runtime dependency versions are pinned for the supported Python 3.10 x86_64 CPU environments and checked against execution receipts. Platform-specific wheel hashes are not represented as a universal artifact lock; prepare captures pip freeze."},"invocation":{"entrypoint":"python run.py","argv":["{python}","{recipe_dir}/run.py","--source-dir","{source_dir}","--example"],"inputs":{"joint_angles":[0.1,-0.3,0.4,0.2,-0.2,0.1,0.1],"target_xyz":[0.3,0.2,1.1]},"outputs":{"format":"single JSON object on stdout","payload_selector":"outputs","schema":{"type":"object","required":["joint_angles_rad","end_effector_xyz_m","position_error_m"],"additionalProperties":false,"properties":{"joint_angles_rad":{"type":"array","minItems":7,"maxItems":7,"items":{"type":"number","minimum":-100,"maximum":100},"x-unit":"rad","x-frame":"right_handed_world_xyz; +z_up; procedural_arm_base=world_origin","description":"joint_angles_rad; units=rad; frame=right_handed_world_xyz; +z_up; procedural_arm_base=world_origin"},"end_effector_xyz_m":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number","minimum":-10,"maximum":10},"x-unit":"m","x-frame":"right_handed_world_xyz; +z_up; procedural_arm_base=world_origin","x-order":["x","y","z"],"description":"end_effector_xyz_m; units=m; frame=right_handed_world_xyz; +z_up; procedural_arm_base=world_origin; component order=x,y,z"},"position_error_m":{"type":"number","minimum":0,"maximum":10,"x-unit":"m","x-frame":"right_handed_world_xyz; +z_up; procedural_arm_base=world_origin","description":"position_error_m; units=m; frame=right_handed_world_xyz; +z_up; procedural_arm_base=world_origin"}}}},"example":"After prepare, replace --example in next_command with --input /absolute/path/task.json; use --describe for the exact contract without execution."},"interface":{"version":"1","kind":"algorithm","abstraction_level":0,"execution_domain":"simulation","language":"python","input_transport":"json_file_or_inline","output_transport":"json_stdout","conventions":{"linear_unit":"m","angular_unit":"rad","time_unit":"s","coordinate_frame":"right_handed_world_xyz; +z_up; procedural_arm_base=world_origin","joint_order":"input_array_order","quaternion_order":"not_used"},"input_schema":{"type":"object","required":["joint_angles","target_xyz"],"additionalProperties":false,"properties":{"joint_angles":{"type":"array","minItems":7,"maxItems":7,"items":{"type":"number","minimum":-3,"maximum":3},"x-unit":"rad","x-frame":"right_handed_world_xyz; +z_up; procedural_arm_base=world_origin","description":"joint_angles; units=rad; frame=right_handed_world_xyz; +z_up; procedural_arm_base=world_origin"},"target_xyz":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number","minimum":-2,"maximum":2},"x-unit":"m","x-frame":"right_handed_world_xyz; +z_up; procedural_arm_base=world_origin","x-order":["x","y","z"],"description":"target_xyz; units=m; frame=right_handed_world_xyz; +z_up; procedural_arm_base=world_origin; component order=x,y,z"}}},"output_schema":{"type":"object","required":["joint_angles_rad","end_effector_xyz_m","position_error_m"],"additionalProperties":false,"properties":{"joint_angles_rad":{"type":"array","minItems":7,"maxItems":7,"items":{"type":"number","minimum":-100,"maximum":100},"x-unit":"rad","x-frame":"right_handed_world_xyz; +z_up; procedural_arm_base=world_origin","description":"joint_angles_rad; units=rad; frame=right_handed_world_xyz; +z_up; procedural_arm_base=world_origin"},"end_effector_xyz_m":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number","minimum":-10,"maximum":10},"x-unit":"m","x-frame":"right_handed_world_xyz; +z_up; procedural_arm_base=world_origin","x-order":["x","y","z"],"description":"end_effector_xyz_m; units=m; frame=right_handed_world_xyz; +z_up; procedural_arm_base=world_origin; component order=x,y,z"},"position_error_m":{"type":"number","minimum":0,"maximum":10,"x-unit":"m","x-frame":"right_handed_world_xyz; +z_up; procedural_arm_base=world_origin","description":"position_error_m; units=m; frame=right_handed_world_xyz; +z_up; procedural_arm_base=world_origin"}}},"preconditions":["PyBullet DIRECT CPU simulation with procedural shapes and a synthetic seven-axis arm where applicable; no downloaded models.","This is an adaptation of the referenced API example, not verification of its original robot model or hardware.","Simulation steps are fixed and bounded; force/torque order is Fx,Fy,Fz,Mx,My,Mz in the joint sensor frame."],"postconditions":["All declared checks must pass and all outputs must be finite.","Success applies only to this operation and model, not higher-level task completion."],"failure_codes":["invalid_input_or_environment","execution_failed","task_failed"],"composition":{"depends_on":[],"automatic_frame_conversion":false,"automatic_hardware_execution":false},"output_selector":"outputs","origin_reference_ids":["pybullet-inverse-kinematics"],"origin_relationship":"adapted_from; inspect declared model and inputs, not original robot compatibility"},"completion":{"success_condition":"Exit 0, status=task_complete, success=true, finite outputs satisfying interface.output_schema and all declared numerical/model checks. This is not a physical robot or general task-success claim.","timeout_seconds":30,"failure_modes":["Invalid or oversized JSON","Source checksum mismatch","Unavailable pinned dependency","No valid path or postcondition failure","Execution exceeding the declared bounded algorithm budget"],"stop_condition":"Caller must terminate the separate adapter process after 30 seconds; adapters bound iterations/scene steps and close simulation clients."},"preparation":{"recipe_path":"recipes/pybullet-ik-skill","requirements_file":"recipes/pybullet-ik-skill/requirements.txt","source_selection":"declared_paths","install_argv":["{python}","-m","pip","install","--only-binary=:all:","-r","{recipe_dir}/requirements.txt"],"execution_separate":true},"evidence":{"level":"task_complete","verified_by":"Hub maintainer runtime harness","date":"2026-10-19","environment":{"scope":"simulation","platforms":["linux"],"physical_robot":false},"commands":["python tools/verify_executable_recipes.py --source-cache SOURCE_CACHE --output OUTPUT --backend pybullet"],"result":"Three frozen positive cases passed against this exact adapter; see per-case receipts. This does not estimate general accuracy.","artifacts":["https://raw.githubusercontent.com/Superfast-Robotics/robot-skill-hub/f97266a5cdd2c600cd376397a54892f08290df20/evidence/runtime/executable-conversions-v1/pybullet-ik-skill.json"],"runtime_verification":"task_complete","contributor_reported":null,"hub_verification":{"runtime":"task_complete","scope":"simulation","case_count":3,"source_unchanged":true}},"maintenance":{"record_version":"1.0.0","last_checked":"2026-10-19","upstream_status":"immutable_source_and_explicit_dependency_versions"},"contribution":{"allowed_paths":["catalog/records/pybullet-ik-skill.json","docs/recipes/pybullet-ik-skill.md","recipes/pybullet-ik-skill/run.py","recipes/pybullet-ik-skill/requirements.txt"],"instructions":"Preserve upstream origin/license and interface semantics. Edit the finite manifest/templates and regenerate; record new exact-byte evidence for behavior changes."}},"record_files_omitted":true,"full_record_url":"https://api.superfastrobotics.com/v1/skills/pybullet-ik-skill?record_version=1.0.0&hub_commit=f97266a5cdd2c600cd376397a54892f08290df20&include=experience","findings":{"schema_version":"1","interpretation":"data_only","trust":"contributor_reported","hub_commit":"f97266a5cdd2c600cd376397a54892f08290df20","backend":"d1","coverage":{"complete":true},"results":[],"total":0,"limit":3,"offset":0,"next":null,"execution_performed":false,"applicability":"needs_applicability_check","automatic":true,"environment_filter":{"runtime":"pybullet"},"base":{"record_version":"1.0.0","source_commit":"2c204c49e56ed15ec5fcfa71d199ab6d6570b3f5","hub_commit":"f97266a5cdd2c600cd376397a54892f08290df20"},"status":"ready","index_location":"https://api.superfastrobotics.com/v1/findings"},"community":{"schema_version":"1","status":"ready","results":[],"through":1,"next_after":null,"complete":true,"trust":"contributor_reported","selection":"exact_source_and_requested_environment_then_newest; reports_attached_not_popularity_ranked","next_action":"check_applicability_then_inspect_selected_variant; report_actual_reuse_outcome"},"preparation":{"interpretation":"data_only","automatic_execution":false,"working_directory":"One caller-selected workspace; choose fresh cli and experiment directories.","prerequisites":["Git","Python matching the selected recipe requirements"],"catalog":{"url":"https://api.superfastrobotics.com/v1/skills/pybullet-ik-skill?hub_commit=f97266a5cdd2c600cd376397a54892f08290df20&record_version=1.0.0&format=catalog","save_as":"./pinned-catalog.json","method":"GET","expected_hub_commit":"f97266a5cdd2c600cd376397a54892f08290df20","expected_record_version":"1.0.0","expected_source_commit":"2c204c49e56ed15ec5fcfa71d199ab6d6570b3f5"},"bootstrap_argv":[["git","clone","--filter=blob:none","--sparse","--no-checkout","https://github.com/Superfast-Robotics/robot-skill-hub.git","./robot-skill-hub-cli"],["git","-C","./robot-skill-hub-cli","sparse-checkout","set","--no-cone","/skills/find-robot-skills/"],["git","-C","./robot-skill-hub-cli","checkout","--detach","f97266a5cdd2c600cd376397a54892f08290df20"]],"plan_argv":["python","./robot-skill-hub-cli/skills/find-robot-skills/scripts/rsh.py","--catalog","./pinned-catalog.json","--offline","prepare","pybullet-ik-skill","--project","./experiment","--expected-source-commit","2c204c49e56ed15ec5fcfa71d199ab6d6570b3f5","--expected-record-version","1.0.0","--plan","--json"],"prepare_argv":["python","./robot-skill-hub-cli/skills/find-robot-skills/scripts/rsh.py","--catalog","./pinned-catalog.json","--offline","prepare","pybullet-ik-skill","--project","./experiment","--expected-source-commit","2c204c49e56ed15ec5fcfa71d199ab6d6570b3f5","--expected-record-version","1.0.0","--install-deps","--json"],"prepare_effects":"Downloads pinned source and creates a project environment; dependency installation may execute package build hooks. Use within the authorized task.","execute":{"argv_from":"prepare.next_command","cwd_from":"prepare.next_command_cwd","timeout_seconds":30,"success_condition":"Exit 0, status=task_complete, success=true, finite outputs satisfying interface.output_schema and all declared numerical/model checks. This is not a physical robot or general task-success claim.","input":{"joint_angles":[0.1,-0.3,0.4,0.2,-0.2,0.1,0.1],"target_xyz":[0.3,0.2,1.1]},"input_override":"Replace --example with --input /ABSOLUTE_PATH/task.json after validating record.interface.","result_check":"Read the returned JSON and named checks; a prepared environment is not task completion."},"reuse":{"recall_argv":["python","./robot-skill-hub-cli/skills/find-robot-skills/scripts/rsh.py","recall","pybullet-ik-skill","--project","./experiment","--json"],"save_scope":"Save a useful finding actually observed during the task. Existing project sharing permission is required for public delivery.","guide_url":"https://hub.superfastrobotics.com/community.md"}},"environment_check":{"supplied":{"runtime":"pybullet"},"missing":["robot","os","python","architecture"],"status":"compare_record_requirements_then_run_plan"}},"next_url":null,"scope":"preparation_recipes_only; source_references_remain_searchable_at_/v1/search","sharing_performed":false}