One function

_generate_launch_file in dbwls99706/ros2-engineering-skills

The author described this change as fix(scaffolder): order generated launch imports alphabetically per group - ament_flake8's I100 rule (active on jazzy via ament_lint_auto) rejected launch.events appearing after launch.substitutions; r. It counts as a record because the check below fails on the code as it stood at 9184301da and passes on fc6a049f7, with nothing else changed between the two runs.

Fix saved2026-05-21
Sharing licenceApache-2.0 · LICENSE
Change size+1 1

What the code was meant to do, written into the code itself as a docstring

Generate a basic bringup.launch.py file for the package.

The change

66 return header + f"""
77 from launch import LaunchDescription
88 from launch.actions import EmitEvent, RegisterEventHandler
9-from launch.substitutions import PathJoinSubstitution
109 from launch.events import matches_action
10+from launch.substitutions import PathJoinSubstitution
1111 from launch_ros.actions import LifecycleNode
1212 from launch_ros.event_handlers import OnStateTransition
1313 from launch_ros.events.lifecycle import ChangeState

The check that tells the two apart

failpass·tests/test_create_package.py::TestCppPackage::test_lifecycle_launch_imports_alphabetical_per_top_module

Check file tests/test_create_package.py, taken without changes from the fix and copied onto the older code, so the exact same check runs against both versions.

Origin and history

The code before it9184301dafe306504b804ccfaff2cacd835055f0
Broken version dated2026-05-21
Modulescripts.create_package
Units changed_generate_launch_file
Fingerprintdf9ca99f14c08a19
Checked2026-08-18 by goldset/0.1

Every field above is generated by our program. None of it is written by hand.

Other bugs found in dbwls99706/ros2-engineering-skills