+Add support for configuring "virtual tags" which are a tuple of
+(tag-name, search-specification). The database is responsible for
+ensuring that the virtual tag is always consistent.
+
+Indicate to the user if two files with the same message ID have
+content that is actually different in some interesting way. Perhaps
+notmuch initially sees all changes as interesting, and quickly learns
+from the user which changes are not interesting (such as the very
+common mailing-list footer).
+
+Fix notmuch_query_count_messages to share code with
+notmuch_query_search_messages rather than duplicating code. (And
+consider renaming it as well.)
+
+Provide a mechanism for doing automatic address completion based on
+notmuch searches. Here was one proposal made in IRC:
+
+ <cworth> I guess all it would really have to be would be a way
+ to configure a series of searches to try in turn,
+ (presenting ambiguities at a given single level, and
+ advancing to the next level only if one level
+ returned no matches).
+ <cworth> So then I might have a series that looks like this:
+ <cworth> notmuch search --output=address_from tag:address_book_alias
+ <cworth> notmuch search --output=address_to tag:sent
+ <cworth> notmuch search --output=address_from
+ <cworth> I think I might like that quite a bit.
+ <cworth> And then we have a story for an address book for
+ non-emacs users.
+
+Provide a ~me Xapian synonym for all of the user's configured email
+addresses.
+
+Test suite
+----------
+Achieve 100% test coverage with the test suite.
+
+Modularize test suite (to be able to run individual tests).
+
+Summarize test results at the end.
+
+Fix the insane quoting nightmare of the test suite, (and once we do
+that we can actually test the implicit-phrase search feature such as
+"notmuch search 'body search (phrase)'"
+
+Test "notmuch reply" choosing the correct email address from the
+Received header when no configured email address appears in To or Cc.