Hi everyone,
Following up on the recent announcement regarding the Lyrical Luth release requirements, the PMC has finalized the automated enforcement protocols. To ensure our May release remains on schedule, we are providing expanded guidelines and examples for the new rhyme-lint and README.shanty checks.
Effective immediately, all pull requests targeting the rolling or lyrical branches must pass these poetic audits.
1. The rhyme-lint Mandatory CI Check
All pull requests will now trigger a rhyme-lint action. If your commit message lacks proper meter or rhyme, the build will fail with a 403: UNPOETIC_CONTRIBUTION error.
Accepted Commit Styles:
- The Heroic Couplet (for Security/Bug Fixes):
fix: A buffer overflow was found in C,
We've locked the heap to keep the memory free.
- Iambic Pentameter (for Feature Additions):
feat: The twenty-standard now we must embrace,
To bring C++20 speed to every space.
- The Middleware Haiku (for RMW Updates):
Packets drift like leaves,
The middleware finds the path,
Silence in the logs.
2. The README.shanty Documentation Standard
Any new package added to the core must include a README.shanty file. This ensures our documentation can be easily memorized and sung during long deployment cycles or deep-sea robotics missions.
- Note: Harmonies are optional but encouraged for Tier-1 platforms.
Example: README.shanty for rcl::Buffer
(To the tune of “The Wellerman”)
There once was a node that sent a frame,
Without a copy or a name,
The CPU was much to blame,
For latency so high! (HUH!)Soon may the Zero-Copy come,
To bring us throughput, megabytes, and fun,
When the data transfer’s done,
We’ll take our leave and go!
We used the vendor’s memory backend,
A pointer sent to every friend,
The bandwidth limit met its end,
Beneath the Lyrical sky!
3. The Lyrical Luth Rhyming Dictionary
We recognize that many maintainers may find this transition challenging. To assist, the PMC has curated an initial dictionary of “Technical Rhymes” to help you pass CI.
| ROS Term | Approved Rhymes | Example |
|---|---|---|
| Node | Code, Mode, Load, Road | “A lonely node / with heavy load.” |
| DDS | Success, Progress, Finesse | “Tune the DDS / with pure finesse.” |
| Topic | Myopic, Tropic, Microscopic | “A hidden topic / so microscopic.” |
| RMW | Now, How, Allow, Brow | “The RMW / we fix it now.” |
| Linter | Splinter, Winter, Printer | “The static linter / cold as winter.” |
| Pointer | Anointer, Appointer | “The null pointer / a soul-disappointer.” |
| Humble | Rumble, Stumble, Grumble | “Backported from Humble / without a stumble.” |
Compliance and “ROS-ffice Hours”
We understand this is a significant shift in our development workflow, but we believe it is necessary to harmonize our ecosystem. To help with the transition, our upcoming “ROS-ffice Hours” sessions will be dedicated to bardic troubleshooting.
Let’s make this May the most harmonious release in robotics history.