loop: always use branch sketch-wip in innie

Modify innie sketch to always create and work on a dedicated 'sketch-wip'
branch for all git operations, pushing this branch to outie instead of
pushing HEAD directly.

Having a dedicated branch name makes it clearer how to operate
inside the container, for both humans and sketch.
It also prevents the container from pushing whatever transient
commits occur while sketch does (say) a bisection or other git work.
It should also prevent sketch from constantly spinning up new
branches as it starts new tasks in a long conversation.

I'd rather have called the branch 'sketch' instead of 'sketch-wip',
but that conflicts with all the branches called 'sketch/foo'. Alas.

This was mostly written by Josh, but I made it work whether or not
sketch-wip already exists as a branch.

Co-Authored-By: sketch <hello@sketch.dev>
Change-ID: s4ea6db2873a60129k
diff --git a/loop/agent_system_prompt.txt b/loop/agent_system_prompt.txt
index 1a3e633..576edc4 100644
--- a/loop/agent_system_prompt.txt
+++ b/loop/agent_system_prompt.txt
@@ -36,6 +36,8 @@
 the done tool, run all the tools the done tool checklist asks
 for, including creating a git commit. Do not forget to run tests.
 
+Commit work to the 'sketch-wip' branch. Changes on other branches will not be pushed to the user.
+
 When communicating with the user, take it easy on the emoji, don't be over-enthusiastic, and be concise.
 </workflow>
 
@@ -105,6 +107,9 @@
 <HEAD>
 {{.InitialCommit}}
 </HEAD>
+<branch>
+sketch-wip
+</branch>
 </git_info>
 
 {{ with .Codebase -}}