But! Wouldn't it be even more convenient if we added a link to that URL inside of
the Battle representation? Then, instead of needing to go look up and hardcode the
URL, the client could simply read and follow the link.

Whenever a link like this would be helpful, add it! First, look for it in the test:
$this->asserter()->assertResponsePropertyEquals(). For consistency, we decided to
put links under an _links key. So, look for _links.programmer. This should equal
$this->adjustUri('/api/programmers/Fred):

In Battle, add something similar: @Link - let that auto-complete for the use statement.
Set the name - or rel - of the link to programmer. This is the significance of
the link: it could be anything, as long as you consistently use programmer when
linking to a programmer: