How detailed should I be about my implemented system while writing a Ph.D. thesis?
When I think about such problems, I find that there are two main aspects of mechanism documentation to be considered:


Reproducibility: The standard that you absolutely must adhere to is to provide enough information to allow others to reproduce your scientific results.  This means that you need to provide all of the key ideas that would not be readily re-generated by any skilled practitioner.  This means that all of the "ordinary" programming work doesn't need to be explained, and indeed would probably be distracting if you did spend time explaining it.  Note also that reproducing a result is not the same as reproducing data: e.g., if your system provides O(log n) growth in resource requirements, that's what needs to be producible, not the exact particulars of how you tested that experimentally.
Accessibility: Even if a result or system is reproducible, it's often a lot of work to reproduce it.  If your system is likely to be something that other people might want to use themselves, then you should share the code.  Architecture diagrams and similar documentation are nice to make that code more accessible, but they key is to make sure the code is readily available under a free and open license (see also the question: Should I share my horrible software?).


Now, the nice thing about a thesis is that there's typically no limit to the length or types of artifacts that you can attach to it.  I would thus strongly recommend that you make sure to bundle the software, with adequate documentation to allow a skilled computer scientist from another subfield to understand it and apply it.  Don't worry about explaining the "uninteresting" parts of the design, however, unless it's actually directly relevant to your scientific results.