I agree in principle about the difference between a 'snippet' and a 'program', but I think that this distinction is easily blurred - a well-crafted one-liner is a complete finished polished program, but would probably be placed in Snippets. Somebody looking to perform that task may never realise (or believe!) that a Snippet could do the whole job, and would be searching fruitlessly for a 50-line program. In a category listing, this could be indicated simply by a 'code class' field ("one-liner, snippet, module, program" etc.)
As for the distinction between 'finished' and not...well, I don't know about you, but I've never finished a program in my life, after 20-odd years of coding :). Even the most 'perfect' of code in the Catacombs has comments, updates etc. - it all evolves. Again, a "status" field ("experimental,finished,mature" etc.) would solve this simply.
Thanks for the comments,