We describe an evidence-based architecture discovery approach that organizes architectural decisions in a semi-formal reasoning framework that is self-reinforced by the evidence of accommodating future design decisions. In this approach, the taxonomy of these design decisions follows the SOLID design principles . We apply these principles of software design to the topics that represent the architecture itself. Decisions, once made, serve as a starting point and context for future decisions. Architecture is, therefore, discovered within the confines of decisions already made, and it is managed by ensuring that future design decisions conform to the constraints set forth by the current decisions. When evidence emerges that conformance is not possible, early design decisions must be challenged and adjusted. In this sense, future design decisions serve as a test for, and provide evidence on the validity and robustness of earlier design decisions. By creating a taxonomy of architecture topics and managing constant tension and systematic interaction between early and future design decisions, we have found that this evidence-based feedback mechanism leads to intermediate forms of an architecture that are more stable, more easily reviewed, and evolve more systematically and gracefully over time.