i think the concept of "source code as AST" or something like that is basically a fine one, but the devil is in the details. your "true source" must continue to support (just off the top of my head):
- precise "decompilation" to readable, idiomatic text
- comments
- line numbers or some semantic equivalent