--- /dev/null
+
+Solver algorithms:
+------------------
+
+- the solver allows arch changes from/to noarch without complaining.
+ good or bad?
+
+- vendow changes are allowed from unknown to known. libzypp doesn't
+ allow that. Feature?
+
+- arch changes are only considered if the name stays the same, so
+ a rename can install a different architecture.
+
+- same with vendor.
+
+- should prune_best_version_arch consider the arch or the vendor this
+ is about an installed package?
+
+- we disable conflicting rules when searching for a suggestion, should
+ we first extend them with arch changes/vendor changes/downgrades?
+ In what order?
+
+- distupdate sets 'allowuninstall'. Should it only allow uninstall
+ for packages that do not have an update in the repositories?
+
+- splitprovides don't work at all.
+
+- repo priorities should influence the order in which package rules
+ are fulfilled.
+
+- weak systemrules should be created for all installed packages, so
+ that they are available when the erase rule is disabled if a
+ suggestion is calculated.
+
+- should we implement weak systemrules as weak rules?
+
+- prune_best_version_arch has a n^2 loop when looking at obsoletes.
+ Should we create an obsoletes index to speed that up?
+
+
+
+Code cleanup:
+-------------
+
+- move whatprovides/whatprovidesdata from pool to solver?
+ good: can implement installed(), though I don't know if we need
+ it.
+ bad: need to allocate solver if we just want to look up a provides.
+ can't re-use whatprovides for multiple solver runs with different
+ solvers.
+
+- implement unified idarray in pool, so that repos don't have to
+ come with their own idarrays? Would need memory for hash, but
+ unification would be a nice thing. Would also fix solver memory
+ leak with learned rules. Needs some hard numbers abour memory usage.
+
+- make bitmap macros inline functions?
+
+- rename ID Macros to ID_, e.g. ARCH_NOARCH to ID_ARCH_NOARCH?
+
+- support different streams than FILE in repo_ functions? Is it
+ enough that glibc supports FILE overloading, see the undocumented
+ fopencookie()?
+