We are closer to your vision than you might think.
Discourse remembers what you've read and what you haven't. You can "like" posts or "flag" them as poor.
Our API coverage is almost 100% - our rich JS client consumes our own API for just about everything, so we actually know it's working because the client wouldn't work without it.
We also have an (admittedly undocumented) plugin system, where you can install rubygems that add or remove functionality from the core app.