The code you embed tells discourse there’s a new post to embed. For example on eviltrout.com:
var discourseUrl = "http://fishtank.eviltrout.com/",
discourseEmbedUrl = "http://eviltrout.com/2014/12/22/watch-ember-tv.html";
(function() {
var d = document.createElement('script'); d.type = 'text/javascript'; d.async = true;
d.src = discourseUrl + 'javascripts/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(d);
})();
The first time that script is executed it contacts discourse and says "give me the contents for discourseEmbedUrl. Discourse will then say, hey, there are no comments, but in the background enqueue a job to crawl that page for its contents. So shortly afterwards, it will be crawled and run through readability.
The key is discourseEmbedUrl.
Your site will indeed break if discourseEmbedUrl changes. However, I assume the original URL still works even when it’s updated? If you leave discourseEmbedUrl as the original value it will not import the article twice and the comments will continue to work.