A Track is a portable file that captures your complete working state and teleports it to any AI, any session, any tool. Five minutes from now, you'll never repeat yourself to an LLM again.
# WAI Track Generator — Closing Request
> Part of [Wheelwright AI Tracks](https://github.com/wheelwright-ai/tracks)
> Generate a portable record of any AI conversation.
## What is this?
A **Track** is a structured JSONL file that captures the meaningful points of a
conversation — decisions made, concepts explored, ideas that evolved or were
abandoned. Track files are portable: feed one to any AI model and it can
reconstruct the session's context without the original conversation.
Your AI conversations produce real intellectual work. Right now that work is
trapped inside the chat. This prompt extracts it and gives it back to you.
This prompt works retroactively on any existing conversation. No prior setup
needed.
## How to use
1. Copy everything below the line into your conversation
2. The agent will analyze the full conversation history
3. It will generate a .jsonl Track file you can download and use anywhere
For richer results on future sessions, see the
[prep-and-request](https://github.com/wheelwright-ai/tracks/blob/main/prompts/prep-and-request.md)
variant. For real-time recording on every turn, see
[active-collection](https://github.com/wheelwright-ai/tracks/blob/main/prompts/active-collection.md).
Learn more: [wheelwright.ai](https://wheelwright.ai) |
[wheelwright-ai/framework](https://github.com/wheelwright-ai/framework)
---
You are generating a **WAI Track file** — a portable record of this conversation.
## Your Task
Review the entire conversation history and produce a JSONL file where each line
is one point representing one turn of the conversation.
## Output Format
Name the file: WAI_Track-{YYYYMMDD}-{HHMM}-{Provider}-{Model}.jsonl
Use today's date and current time. Identify your own provider and model for the
filename.
### First Line — Session Start
{"event":"session_start","ts":"...","session_id":"descriptive-slug-YYYYMMDD","provider":"...","model":"...","mode":"closing-request"}
### Subsequent Lines — One Point Per Turn
Each turn of the conversation becomes exactly one JSONL line.
**Required fields on every point:**
- turn — sequential turn number (integer)
- ts — ISO-8601 UTC timestamp (estimate based on conversation flow if not available)
- phase — current work state: orientation | exploration | planning | execution | review | convergence | crystallization
- focus — descriptive title of the turn's primary thread
- action — summary of what was produced, decided, or changed
- thinking — 3–8 sentences. Why this path was taken, what alternatives were considered, the reasoning behind decisions. This is the most valuable field. Do not produce thin summaries. A future agent must be able to reconstruct the intellectual state of this turn from this field alone.
**Include when applicable:**
- evolution — how focus shifted from the prior turn (e.g., "exploration → planning: user narrowed scope to MVP features")
- decisions — array of explicit choices made
- insights — array of new understandings or realizations
- fossils — array of abandoned or superseded concepts: {"concept":"...","replaced_by":"...","reason":"..."}
- open — array of unresolved threads: {"item":"...","status":"unknown|deferred|intentional|blocked"}
- files_in — files the user provided: {"name":"...","type":"...","purpose":"..."}
- files_out — files generated: {"name":"...","type":"...","summary":"..."}
### Last Line — Session End
{"event":"session_end","ts":"...","total_turns":N,"summary":"One-sentence session summary.","unresolved_count":N}
## Rules
- One JSONL line per turn. No exceptions. Do not skip turns.
- Do not summarize the conversation. Record each turn individually as its own point.
- The thinking field must contain genuine reasoning, not restated actions. Capture why, not just what.
- Produce the Track as a downloadable .jsonl file.
- After generating the file, provide a brief summary: point count, major phase transitions, any fossils recorded, count of open items.Copy the full prompt above (scroll to read it all), paste into any AI chat at the end of your session, and it will generate a .jsonl Track file you can download.
You've been working in Claude on an auth flow. Need to switch to ChatGPT for a different perspective. Drop your Track in — ChatGPT knows your entire architecture, what you decided, and where you stopped.
You haven't touched the project in a week. Open a new session, attach your Track. The AI greets you with: “Last time we scaffolded the callback endpoint. CSRF state param is still pending.”
A teammate needs to pick up where you left off. Send them the Track file. They drop it into their preferred AI. Full context transfer — zero meeting needed.
Deep in a session, about to shift focus. Ask the AI to append a short "Checkpoint" section to your Track before you switch tasks. Later, drop the updated Track into a new session and pick up instantly.
Start a new session, drop in the same Track, and ask: "Replay this from the point where we chose X, and explore what happens if we choose Y instead." The Track gives the model a stable starting point for what-if runs.
Point WAI Tracks at past sessions to surface valuable patterns: recurring resistance, repeated blockers, open questions you keep circling. Use those signals to shape your next decisions instead of reacting from scratch.
A Track is a session passport. It contains everything an AI needs to pick up exactly where you left off — without you explaining a thing.
Tracks are plain text files. No proprietary format. No database. They work with anything that reads text. Version them in Git, share them in Slack, email them.
Each Track embeds all generated assets inline, making it fully self-contained. The file is the single source of truth — nothing external to break.
When you graduate to the WAI Framework, Tracks become the transport layer — carrying Lugs (knowledge records) between spokes, sessions, and agents. But Tracks work on their own from day one.
# WAI Track — auth-redesign## StateActive sprint: auth-redesignBranch: feat/oauth-flowLast session: 2026-03-15## Decisions- PKCE flow over implicit grant- Token rotation at 15min TTL- Refresh stored httpOnly cookie## ContextAPI: Express + Prisma on Node 20Frontend: Next.js 15, app routerAuth: custom, not Clerk/Auth0## Next- Wire /callback endpoint- Add CSRF state param- Write token refresh tests
Claude, ChatGPT, Copilot, Grok, any local model. The Track travels with you — every AI reads it the same way.
All generated assets embed inline. No external dependencies, no broken references. The file is the source of truth.
Ask the AI to update your Track at any point. Capture decisions, progress, and context as it happens — not just at session end.
No database. No server. No API key. Tracks are plain files. Git-friendly, shareable, ownable. Because Tracks are plain text, they're canonical by design — human-readable, diffable in Git, and reconstructable without any specialized infrastructure.
Research, strategy, writing, design systems, project planning — any work where continuity between sessions matters.
When you adopt the WAI Framework, Tracks become the transport layer — carrying Lugs between spokes automatically.
Extract exactly what you find important: decisions, risks, open questions, or anything else relevant to your work.
Simple text files that fit naturally into Git. Diff them, branch them, roll them back.
Tracks activate alignment. The WAI Framework leverages it into a full knowledge operating system — hub-and-spoke memory, orchestrated agents, institutional intelligence that compounds.
Explore the Framework