Code review's gone really well for us over the last few months.

Sadly, git is tricky enough for us to want guidelines about how to avoid pushing unreviewed (and unauthored!) commits to master.

This is a draft; comments welcome.
diff --git a/CodeReview.wiki b/CodeReview.wiki
new file mode 100644
index 0000000..638a7ee
--- /dev/null
+++ b/CodeReview.wiki
@@ -0,0 +1,31 @@
+#summary Procedure for Melange Code Review.
+#labels Contents-Draft
+
+= Requirements =
+
+All commits and must be reviewed by at least one Melange engineer other than the author before migration to the master branch.
+
+= Exceptions =
+
+Commits made as part of the release process ("Set new Melange version number...") are exempt and may be made on master.
+
+= Author Process =
+
+When you feel that your current line of development is ready for review:
+  # If master has advanced beyond where it was when you started your development, pull the current head of master and merge master's changes with yours.
+  # Push your line of development to a branch in the origin repository.
+  # Ask another Melange engineer to review every unreviewed commit in your branch.
+  # Make changes and re-push to your branch, and secure re-review as necessary.
+  # When every commit on your branch has been reviewed (positively), push the (reviewed) head commit of your development branch to master, taking care to make no additional changes.
+  # Prune your development branch if it will see no further use.
+
+= Sample Author Commands =
+
+*TODO(nathaniel)* but the important one is {{{git push origin <commit hex string, not branch name>:master}}}, which will either push a specific reviewed commit to master or fail as non-fast-forward.
+
+= Rebase =
+
+*Do not rebase.* We lose review history and chronological ordering with rebases. Linear history just isn't worth it.
+
+= Reviewer Process =
+If a change looks good and needs no comment, just mark it positive and hit the "submit" button. This suppresses the per-commit email thread and cuts down on mailing list noise.
\ No newline at end of file