Well, the situation with assumptions is a bit of mess at the moment, in
part because I'm working on a big refactoring of the old assumption
system. Anyway, the object of such a GSoC project would be to work on
the new assumption/logic system (i.e. sympy.assumptions and
sympy.logic). I see 3 axes of improvement:
* Extend the system - add quantifiers and binary predicates (see e.g.
issue 1887)
* Make it more efficient - e.g. implement indexing of assumption
contexts, or deal with issue 2016.
* Plug it into the core, i.e. merge it with the old system. Details
about this will have to wait until the current refactoring is done.
Concerning the last point, one thing is already clear though:
ask(Q.positive(Symbol('x', positive=True))) should return True. So you
could start by trying to make this, and similar cases, work. This means
adding handlers for Symbol in the relevant AskHandler classes in
sympy/assumptions/handlers/. (BTW, this doesn't strike me as a really
convenient interface, so ideas to improve it are welcome)