[Policy Change] Detailed Standards for REP-2026-04 (Lyrical Enforcement)

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.

15 Likes

And, for compliance, here is the policy in lyrical form:

The PMC has sent a decree, a fearsome missive penned,
Our humble code repositories, they must transcend.
No longer prose for pull requests, but verse of noble form,
A Heroic Couplet’s meter to ride the coming storm.
Our documentation now is sung, a shanty for the sea,
To find the project’s missing soul, for all the world to see.

And in video form: https://www.youtube.com/watch?v=dQw4w9WgXcQ

9 Likes

I’ve added these rules to my CLAUDE.md and now my 20 concurrent coding agents have started frolicking in the bitfields. Help needed!

1 Like

@trupples
Use the magic lyrical key “1775001601” to stop your agents.

At last! I couldn’t bear the crude language anymore!