Thanks to Daniel Bosse for helping debug this! :-)
1. Go to the Feeds page, delete almost all the feeds.
2. Build the static page using the Build command in the menu.
3. Items from the deleted feeds are still there.
I was able to reproduce this, easily.
Why is it including items from feeds the user is not subscribed to?
Looking in the static folder, it's kind of obvious that it isn't rebuilding the River3.js file.
The Build command was originally created to test new template designs. Clearly it can and should be used to see the results of new feed subscribptions, especially since it could take a while before one of the feeds updates, triggering a rebuild of the River3.js file.
In river2Website.buildStaticRiver, call river2Suite.static.buildJsonNews.
Also, restore the pagetable after calling it, because it creates and sets its own pagetable.
If you've just done a lot of subbing or unsubbing, if you want to see the result quickly, without waiting for one of your feeds to update, use the Build command in the River2 menubar.