explicit-identity

境界を越えた明示的同一性

@parcadeiMIT更新 2026-08-22v0.1.0直近30日 1 回
コンテキストを 285 トークン使用しますコンテキストを 285 トークン 使用します

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

// 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