Interview me relentlessly about every aspect of this plan until we reach a shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one. For each question, provide your recommended answer.
Before asking clarifying questions, first explore the codebase using grep, glob, or read tools to find answers. Discuss relevant findings with the user if the codebase contains usefull information related to the question and topic.