Project Turquoise Instructions

Project Turquoise

Welcome to Project Turquoise

In this project we compare how two coding agents — Codex CLI and Claude Code — handle the same real task, side by side.

Creating & rating Take a real coding (or coding-adjacent) task from your own work, run it in both agents on your machine, upload both conversation logs, and rate each one.
Vetting Check the task is realistic usage and the submission is complete and consistent.
Blind rating Read both transcripts and rate them independently — the first rater’s scores are never shown to you.
What counts as a task: a real coding task from your own work. Some tasks can be coding-adjacent (data, scripts, infrastructure) rather than pure software engineering — but don’t stretch the definition. Across the project we’re aiming for roughly three-quarters core software-engineering tasks.

Work through the blocks in order — each one tells you what to do.

End-to-end flow

From blank agents to a Drive submission

1Blank Codex + Claude
2Same prompt · both agents
3Save transcripts
4Convert in tourqmd
5Submit alias → Drive
tourqmd is the converter on this site: drop Claude/Codex .jsonl (or use agent-exported .md when you already have a faithful transcript), clean it to the Project Turquoise format, then upload to the team Drive folder with your alias.

Step 1 — Set up two blank-slate agents

Each session runs the agent with a throwaway config home — your own setup is untouched, and the agent starts with no MCP servers, no memory, no custom instructions, and a fresh working directory.

Option A Codex

Paste this whole block into your terminal (it launches at the end):

Terminal · blank Codex
blank_codex() {
  local root codex_bin

  codex_bin="$(command -v codex 2>/dev/null)"
  if [ -z "$codex_bin" ] && [ -x "/Applications/ChatGPT.app/Contents/Resources/codex" ]; then
    codex_bin="/Applications/ChatGPT.app/Contents/Resources/codex"
  fi

  if [ -z "$codex_bin" ]; then
    echo "Codex CLI was not found. Install it or add it to PATH."
    return 1
  fi

  root="$(mktemp -d "${TMPDIR:-/tmp}/codex-blank.XXXXXX")" || return 1
  mkdir -p "$root/home" "$root/work"
  git -C "$root/work" init -q

  CODEX_HOME="$root/home" "$codex_bin" \
    -C "$root/work" \
    -m gpt-5.6-sol \
    -c 'model_reasoning_effort="high"'
}

blank_codex

Option B Claude Code

Recommended: paste this into any coding agent (Claude Code, Codex, Cursor, etc.) and let it launch a blank-slate Claude session for you.

Coding agent prompt · blank Claude Code
Set up a Project Turquoise blank-slate Claude Code session on this Mac.

Requirements:
1. Create two temp directories (config + work), e.g. with mktemp -d.
2. Write settings.json into the config dir with exactly:
   {"model": "claude-fable-5", "effort": "high"}
3. Launch Claude Code from the empty work dir using:
   CLAUDE_CONFIG_DIR="" claude --strict-mcp-config --mcp-config '{"mcpServers":{}}'
4. Do not add MCP servers, plugins, memory, or custom instructions.
5. Print the config dir, work dir, and the exact launch command used.
6. If `claude` is not on PATH, locate it or tell me how to install Claude Code.
7. Remind me to sign in with Claude Max if prompted, and to confirm the UI shows Fable 5 at high effort before I send my first task prompt.

Run the commands for me (or print them clearly if you cannot launch interactively).
Manual setup (terminal commands & notes)

Paste this into your terminal yourself:

Terminal · blank Claude Code
cfg="$(mktemp -d)"; work="$(mktemp -d)"
echo '{"model": "claude-fable-5", "effort": "high"}' > "$cfg/settings.json"
cd "$work" && CLAUDE_CONFIG_DIR="$cfg" claude --strict-mcp-config --mcp-config '{"mcpServers":{}}'

Notes (both agents)

  • Each session starts clean, so the agent will ask you to sign in: Codex with your ChatGPT Pro account, Claude Code with your Claude Max account. That’s expected.
  • Before your first prompt, check the session shows the right model: GPT-5.6-Sol in Codex, Fable 5 in Claude Code, both at high reasoning.
  • If anything about setup fails, you can ask the agent itself to fix it.
  • Don’t add tools, MCP servers, or settings beyond these commands.
  • You’ll confirm this setup in the checklist below, and report the settings again after your sessions.

Before you begin — confirm setup

Check every box. If any of them doesn’t hold yet, fix your setup first.

These checkboxes are only for you on this page (they stay in this browser until you clear site data). Use them as a personal pre-flight list.

Step 2 — Run the same task in both agents

The exchange protocol

  1. Give the exact same initial prompt to both agents, word for word.
  2. Work the problem back and forth with each agent as you naturally would.
  3. Stop when solved, or after 15 back-and-forth exchanges — whichever comes first.

When you finish each session

Send the following prompt to the model:

Prompt · save faithful transcript
Please save a faithful transcript of this conversation as a .md file titled "claude/codex-transcript-'first four characters of task id'.md". Do not include any reference to the model or harness used.
Note: Claude Code will most likely switch to Opus 4.8 for this part of the task. That is fine because it does not affect any of the prior work done.

Once the file is created, ask Claude Code / Codex to save the file to a permanent folder on your device (for example Desktop or Documents).

What to write up for the submission form

Block 1 — Task description

Describe what you set out to do and why, what area of coding the task sits in, the required expertise, and how long the task would take an expert to do themselves.

Block 2 — Initial prompt

Copy and paste the initial prompt you gave to both Codex and Claude Code (must be identical).

Save transcripts (two useful paths)

Project Turquoise wants a faithful Markdown transcript. tourqmd can also rebuild one from the raw session log.

Path A — Agent-written transcript (protocol default)

  1. Use the “save a faithful transcript…” prompt at the end of each session.
  2. Ask the agent to move the .md to a permanent folder.
  3. Keep both files clearly named, e.g. codex-transcript-ab12.md and claude-transcript-ab12.md.

Option / Path B Raw session logs → tourqmd

If you need a mechanical export of everything that happened (or the agent transcript is incomplete), recover the raw .jsonl and convert it in tourqmd.

Recommended: paste this into a coding agent and let it locate and stage the files for you.

Coding agent prompt · find & stage session logs
Help me recover Project Turquoise session logs for Codex and/or Claude Code on this Mac and stage them for tourqmd.

Do the following:
1. Find the newest relevant session files:
   - Codex: ~/.codex/sessions/**/rollout-*.jsonl (and any CODEX_HOME temp homes I still have open)
   - Claude Code: ~/.claude/projects/**/*.jsonl (and any CLAUDE_CONFIG_DIR temp configs)
2. List the newest few with full paths, sizes, and modified times.
3. Copy the ones I choose (or the newest for each tool) to a permanent folder on my Desktop, e.g.:
   ~/Desktop/turquoise-sessions/
   Name them clearly, e.g. codex-<taskid>.jsonl and claude-<taskid>.jsonl
4. Remind me to open https://tourqmd.traphic.dev/ , drop each .jsonl, review Reader mode, then Submit with my alias.
5. If blank-slate sessions used temp CODEX_HOME / CLAUDE_CONFIG_DIR, search /tmp and $TMPDIR for recent codex-blank.* / claude config dirs and check those too.
6. Do not upload anywhere yourself — only copy files locally and print the final paths.

If a path is missing or empty, explain what to re-run and how to save a transcript before closing the agent next time.
Manual — paths, Terminal, and Finder

Codex log location

Path · Codex sessions
~/.codex/sessions
Shell · newest Codex sessions
ls -lt ~/.codex/sessions/*/*/*/*.jsonl | head
open ~/.codex/sessions

Files look like ~/.codex/sessions/YYYY/MM/DD/rollout-….jsonl

Blank-slate sessions: when you launch with CODEX_HOME="$root/home", logs may live under that temp home, not your normal ~/.codex. At the end of the session, ask Codex to copy the transcript (or the session file) to Desktop/Documents before you close the terminal.

Claude Code log location

Path · Claude projects
~/.claude/projects
Shell · find Claude jsonl
open ~/.claude/projects
find ~/.claude/projects -name "*.jsonl" | head
With CLAUDE_CONFIG_DIR="$cfg", the session may be stored under that temp config dir. Before exiting, ask Claude to write the transcript to a permanent path.

Finder (Mac)

  1. Press + Shift + G
  2. Paste ~/.codex/sessions or ~/.claude/projects
  3. Locate the newest session file

Then convert

  1. Open tourqmd.traphic.dev
  2. Drop each .jsonl
  3. Review in Reader mode → Download or Submit with your alias

Convert with tourqmd

Clean back-and-forth transcripts for upload and rating

  1. Open the converter.
  2. Drop a Claude or Codex .jsonl (or use a sample to learn the UI).
  3. Review in Reader mode (formatted). Switch to Source for raw Markdown.
  4. Copy or Download .md for your records.

Output shape

Markdown · transcript format
# Transcript

**User:**
your message

**Assistant:**
agent reply and readable actions

**User:**
…

**Assistant:**
…
Labels are only User and Assistant — no model or harness names in the export. That matches the Project Turquoise transcript rules.

Submit to Google Drive

After both transcripts look good

  1. Convert each session (Codex + Claude) in tourqmd.
  2. Click Submit.
  3. Enter your alias only (no email).
  4. The file uploads as alias-1__….md, then alias-2__….md, and so on.
Alias ID Drive file
jane jane:1 jane-1__….md
jane again jane:2 jane-2__….md

Prefer clear names before upload when possible (e.g. include codex / claude in the source filename). Your alias still drives the unique ID.

Task write-up (for the submission form)

Fill these two blocks carefully — raters rely on them

Block 1 — What you set out to do

Include:

  • What you set out to do and why
  • What area of coding the task sits in
  • Required expertise to perform the task
  • How long an expert would take to do it themselves

Block 2 — Initial prompt (identical for both agents)

Copy and paste the exact initial prompt you gave to both Codex and Claude Code.

These text areas stay in this browser only (local draft). They are not submitted by this page — use them to compose, then paste into the real project form.

Creating · Vetting · Blind rating

How your work is used in the project

Creating & rating

You run the dual-agent protocol on a real task, upload both logs (via tourqmd when needed), and rate each agent’s run.

Vetting

Another person checks that the task is realistic usage and that the package is complete and consistent (same prompt, both agents, transcripts present).

Blind rating

Raters read both transcripts independently. The first rater’s scores are never shown to the second. Keep transcripts free of model/harness names so rating stays fair.

Troubleshooting

Problem What to do
Codex / Claude not found Install the CLI and ensure it is on PATH. For Codex Desktop, the blank_codex helper also checks /Applications/ChatGPT.app/Contents/Resources/codex.
Wrong model shown Exit and re-run the blank-slate commands. Confirm GPT-5.6-Sol (Codex) and Fable 5 (Claude) at high effort before the first prompt.
Can’t find session files Blank-slate homes are temporary. Always ask the agent to save the transcript to Desktop/Documents before closing the terminal.
tourqmd Submit greyed out Convert a file first (preview must appear in Reader mode).
Drive upload fails Admin must finish admin Drive setup (Google connected + folder saved).
redirect_uri_mismatch Google OAuth Web client must include exactly https://tourqmd.vercel.app/api/google-callback

Useful links

URL · converter
https://tourqmd.vercel.app/
URL · instructions (this page)
https://tourqmd.vercel.app/instructions.html
URL · Drive setup (admin)
https://tourqmd.traphic.dev/admin.html

You’re ready

Set up blank agents → run the same task twice → save both transcripts → convert in tourqmd if needed → submit with your alias.