Things and Omnifocus are close to what you think you want. However, there are always trade-offs. If you have a large number of projects, for example, you may find it tedious to assign each next action to a project. The requirements for a minimal gtd list app are much less that what you list. In this regard, I might point out that "catholic" means widely inclusive, while "canonical" means according to recognized rules.
Originally Posted by DanielBaird