loop: add email address to Co-Authored-By trailer

- It's the standard.
- It'll let us set up a gravatar for hello@sketch.dev with the sketch logo.
- It tells people how to find sketch (there was no domain or other hint anywhere).
diff --git a/loop/donetool.go b/loop/donetool.go
index c02e5a5..e4b0542 100644
--- a/loop/donetool.go
+++ b/loop/donetool.go
@@ -41,7 +41,7 @@
 }
 
 func doneChecklistJSONSchema(gitUsername, gitEmail string) string {
-	gitCommitDescription := fmt.Sprintf(`Create git commits for any code changes you made. Match the style of recent commit messages. Include 'Co-Authored-By: sketch' and the original user prompt. Use GIT_AUTHOR_NAME="%s" GIT_AUTHOR_EMAIL="%s" (not git config).`,
+	gitCommitDescription := fmt.Sprintf(`Create git commits for any code changes you made. Match the style of recent commit messages. Include 'Co-Authored-By: sketch <hello@sketch.dev>' and the original user prompt. Use GIT_AUTHOR_NAME="%s" GIT_AUTHOR_EMAIL="%s" (not git config).`,
 		gitUsername, gitEmail)
 	desc, err := json.Marshal(gitCommitDescription)
 	if err != nil {
diff --git a/loop/testdata/agent_loop.httprr b/loop/testdata/agent_loop.httprr
index 69ecd49..63f32f1 100644
--- a/loop/testdata/agent_loop.httprr
+++ b/loop/testdata/agent_loop.httprr
@@ -1,9 +1,9 @@
 httprr trace v1
-8979 1749
+9008 1823
 POST https://api.anthropic.com/v1/messages HTTP/1.1

 Host: api.anthropic.com

 User-Agent: Go-http-client/1.1

-Content-Length: 8782

+Content-Length: 8811

 Anthropic-Version: 2023-06-01

 Content-Type: application/json

 

@@ -135,7 +135,7 @@
        },
        "git_commit": {
         "$ref": "#/definitions/checklistItem",
-        "description": "Create git commits for any code changes you made. Match the style of recent commit messages. Include 'Co-Authored-By: sketch' and the original user prompt. Use GIT_AUTHOR_NAME=\"Test Agent\" GIT_AUTHOR_EMAIL=\"totallyhuman@sketch.dev\" (not git config)."
+        "description": "Create git commits for any code changes you made. Match the style of recent commit messages. Include 'Co-Authored-By: sketch \u003chello@sketch.dev\u003e' and the original user prompt. Use GIT_AUTHOR_NAME=\"Test Agent\" GIT_AUTHOR_EMAIL=\"totallyhuman@sketch.dev\" (not git config)."
        }
       },
       "additionalProperties": {
@@ -242,23 +242,23 @@
 Anthropic-Organization-Id: 3c473a21-7208-450a-a9f8-80aebda45c1b

 Anthropic-Ratelimit-Input-Tokens-Limit: 200000

 Anthropic-Ratelimit-Input-Tokens-Remaining: 200000

-Anthropic-Ratelimit-Input-Tokens-Reset: 2025-04-24T02:27:06Z

+Anthropic-Ratelimit-Input-Tokens-Reset: 2025-04-24T17:48:01Z

 Anthropic-Ratelimit-Output-Tokens-Limit: 80000

 Anthropic-Ratelimit-Output-Tokens-Remaining: 80000

-Anthropic-Ratelimit-Output-Tokens-Reset: 2025-04-24T02:27:09Z

+Anthropic-Ratelimit-Output-Tokens-Reset: 2025-04-24T17:48:03Z

 Anthropic-Ratelimit-Requests-Limit: 4000

 Anthropic-Ratelimit-Requests-Remaining: 3999

-Anthropic-Ratelimit-Requests-Reset: 2025-04-24T02:27:04Z

+Anthropic-Ratelimit-Requests-Reset: 2025-04-24T17:47:59Z

 Anthropic-Ratelimit-Tokens-Limit: 280000

 Anthropic-Ratelimit-Tokens-Remaining: 280000

-Anthropic-Ratelimit-Tokens-Reset: 2025-04-24T02:27:06Z

+Anthropic-Ratelimit-Tokens-Reset: 2025-04-24T17:48:01Z

 Cf-Cache-Status: DYNAMIC

-Cf-Ray: 935228ce59f9679c-SJC

+Cf-Ray: 93576dcdcaa8eb34-SJC

 Content-Type: application/json

-Date: Thu, 24 Apr 2025 02:27:09 GMT

-Request-Id: req_011CNSmRs5o2pNWuMSMroxEC

+Date: Thu, 24 Apr 2025 17:48:03 GMT

+Request-Id: req_011CNTyexhttfixXTXbnU4JG

 Server: cloudflare

 Via: 1.1 google

 X-Robots-Tag: none

 

-{"id":"msg_01J2yw38zCKNmTCwLjcTqCU2","type":"message","role":"assistant","model":"claude-3-7-sonnet-20250219","content":[{"type":"text","text":"I have access to the following tools:\n\n1. bash - Executes shell commands\n2. keyword_search - Locates files with a search-and-filter approach\n3. think - For recording thoughts, notes and plans\n4. title - Creates a brief title for the chat\n5. done - Marks the user's goal as achieved and verifies a checklist\n6. codereview - Runs an automated code review\n7. patch - Allows precise text edits in files\n\nLet me know if you'd like more details about any specific tool or if you have a task you'd like assistance with."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":2177,"cache_read_input_tokens":0,"output_tokens":135}}
\ No newline at end of file
+{"id":"msg_01T9eHh8JfMCZsCq4BBDF43G","type":"message","role":"assistant","model":"claude-3-7-sonnet-20250219","content":[{"type":"text","text":"Here are the tools available to me:\n\n1. bash - Executes shell commands with optional timeout\n2. keyword_search - Searches for files based on keywords and a query\n3. think - For thinking out loud, taking notes, forming plans\n4. title - Sets a brief title for the conversation\n5. done - Used to indicate task completion with a checklist\n6. codereview - Runs an automated code review\n7. patch - Makes precise text edits to files\n\nI can use these tools to help you accomplish various coding and development tasks, particularly in Go. Is there a specific task you'd like me to help you with?"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":2183,"cache_read_input_tokens":0,"output_tokens":141}}
\ No newline at end of file