Session Recap — Step 3: Client Profile JSON
Run this step AFTER Step 1. Can run in parallel with Step 2.
Inputs:
- Transcript file (.vtt or .txt)
- Reference data file
- Prior session JSON (optional)
Output:
sessions/recap-[YYYY-MM-DD].jsonpushed to client repo
Full rules and JSON schema are in recap-instructions-v3.md. This step produces Part 3 only.
PROCESS
1. Parse transcript and date
Same as Step 1.
2. Extract structured data
Capture EVERYTHING — this is advisor-internal and feeds the master plan + CPM.
conversation
- 2-3 sentence summary capturing the full arc (including non-work topics that consumed significant time)
- Key outcomes in one sentence
- Full narrative recap in past tense
wins
- Concrete details only, behavior/process-led titles
- Note behavioral signals
actions
- OPEN POST-SESSION ITEMS ONLY
- Completed-on-call items belong in conversation recap or wins
- Owner taxonomy: mine / client / coachee / team
priorActions
- Only if prior session JSON provided
- Status: completed / in progress / not addressed / blocked
quotes
- 1-3 direct quotes from client/coachee (not advisor)
- Exact words, not paraphrased
gpsSignals
- Position, direction, speed from client statements
- advisorRead: prompt user or set null
seeds
- Products, services, workstreams discussed
- Status: seed / interest / proposed / active / blocked / complete / revisit / declined
constraintMentions
- Include organizational politics, personnel conflicts, and off-scope context here
- These are constraint signals even if they don't belong in the email
- Breadcrumbs only — route to CPM, don't analyze
recommendations
- Advisor's suggestions with status tracking
- Silence ≠ acceptance — use "suggested" unless explicit agreement
- Incongruence detection within session and across sessions
advisorNotes
- Behavioral signals, coaching opportunities, things not said
- Off-scope context worth tracking (org politics, personnel dynamics)
- Each note gets a type: behavioral / coaching / unsaid / context / relationship
- Each note gets routing: master-plan / cpm / both / none
notCovered
- Only if agenda was provided as input
3. Push to repo
- File:
sessions/recap-[YYYY-MM-DD].json - Branch: master
- Commit message:
Add session profile JSON [YYYY-MM-DD]
JSON Schema
See recap-instructions-v3.md for the complete schema. Key fields:
{
"meetingDate": "YYYY-MM-DD",
"clientName": "",
"clientRole": "",
"sponsorName": null,
"conversation": { "date": "", "type": "", "summary": "", "outcomes": "", "recap": "" },
"wins": [],
"actions": [],
"priorActions": [],
"quotes": [],
"gpsSignals": { "position": null, "direction": null, "speed": null, "advisorRead": null },
"seeds": [],
"constraintMentions": [],
"recommendations": [],
"advisorNotes": [],
"notCovered": []
}