The theme code has been discussed a bit on the hackers list and on IRC. We haven't published anything about the architecture becuase we're not ready for everyone to jump on it and then complain that it doesn't work. ;-) Of course, the code is there for all to see and many have already worked out how to create themes. Several people from the hackers list have been helping to shake out the bugs. I turned Kubrick into my reference theme because it exercises the limits of the new template and theme code. I also happen to like it. A Kubrick theme has not been committed to CVS. It is simply my testing vehicle. I have toyed with the idea of committing it to CVS and making the theme manager say "I'm afraid I can't do that, Dave" whenever you try to switch to another theme. You know, just to give everyone something to talk about.
So, basically, a theme is a style.css and an index.php in a subdirectory of wp-content/themes. How you organize it from there is up to you. You can include() whatever you want. If your theme provides certain special templates such as archive.php, category.php, author.php, etc. those will be loaded for an archive query, a category query, and an author query, respectively. Or, you can handle everything in index.php and use is_archive(), is_category(), is_author(), etc. As the theme author, it's up to you.
Look at the bottom of wp-blog-header.php in the "Template redirection" block to see which templates are loaded for each query type.
If your theme is a stylesheet only theme that uses the template from another theme, you need provide only style.css. Via the theme header (which resembles the plugin header) you can point to the template required by your stylesheet.
As the theming matures, more details will be forthcoming. In the meantime, check out the code in wp-blog-header and in themes.php and admin-functions.php, if you are so inclined. Look at the Kubrick for 1.3 theme as an example. Or, you can spin conspiracy theories. Whatever you prefer. ;-)