# Explicit Identity

> Explicit Identity Across Boundaries

- Skill: `thedixitjain/explicit-identity` (Agent Skill)
- Install (CLI): `npx skillmds add thedixitjain/explicit-identity`
- Raw SKILL.md: https://api.skillmd.com/api/skills/thedixitjain/explicit-identity/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: thedixitjain (https://skillmd.com/u/thedixitjain)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/thedixitjain/explicit-identity

---



# Explicit Identity Across Boundaries

Never rely on "latest" or "current" when crossing process or async boundaries.

## Pattern

Pass explicit identifiers through the entire pipeline. "Most recent" is a race condition.

## DO

- Pass `--session-id $ID` when spawning processes
- Store IDs in state files for later correlation
- Use full UUIDs, not partial matches
- Keep different ID types separate (don't collapse concepts)

## DON'T

- Query for "most recent session" at execution time
- Assume the current context will still be current after await/spawn
- Collapse different ID types:
  - `session_id` = Claude Code session (human-facing)
  - `root_span_id` = Braintrust trace (query key)
  - `turn_span_id` = Braintrust turn within session

## Example

```typescript
// BAD: race condition at session boundaries
spawn('analyzer', ['--learn'])  // defaults to "most recent"

// GOOD: explicit identity
spawn('analyzer', ['--learn', '--session-id', input.session_id])
```

## Source Sessions

- 1c21e6c8: Defined session_id vs root_span_id distinction
- 6a9f2d7a: Fixed wrong-session attribution via explicit passing
- a541f08a: Confirmed pattern prevents race at session boundaries

---

**Source:** [`parcadei/Continuous-Claude-v3`](https://github.com/parcadei/Continuous-Claude-v3) → `.claude/skills/explicit-identity/SKILL.md`

