Thank you, Derek, but I'm still flummoxed. I added this new script tag to web2py_ajax.html:
<script type="text/javascript">console.log('loaded ' + Date.now())</script>
But I'm getting this message even when I use LOAD(). So I'm trying to understand whether I am placing this code in the wrong location or what, because I think it shouldn't be redrawing the page. The XHR record output seems to confirm this.
FWIW the actions are called this way from menu.py:
response.menu = [
('Demo', False, '', [
(T('New task'), False, URL('default', 'new')),
(T('Show all tasks'), False, URL('default', 'all')),
]),
]