Explicit Identity

作者 parcadeid07ff4b06b62無授權條款3.9K 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫8 個月前更新

Explicit Identity Across Boundaries

AI 產生的概覽

一份程式碼模式指南,說明應跨行程與非同步邊界傳遞明確識別碼,而非依賴「最新」查詢。

功能
此技能記錄了一種軟體設計模式:在整條管線中傳遞工作階段 ID 等明確識別碼,而不是在執行時查詢「最近」的值。它列出應遵循與應避免的做法,區分不同的識別碼類型(session_id、root_span_id、turn_span_id),並以一段簡短的 TypeScript 範例對比容易產生競態的 spawn 呼叫與明確 ID 寫法。它也列出確立或確認此模式的來源工作階段。
適用情境
適用於撰寫或審查會啟動行程、等待非同步工作或關聯追蹤與工作階段的程式碼,且「最新」或「目前」查詢可能導致工作被歸到錯誤情境的情況。它是給開發者的指引,而非可執行工具。
執行需求
除代理外無需其他條件;僅為說明性指示,不附帶指令碼。

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 boundariesspawn('analyzer', ['--learn'])  // defaults to "most recent"
// GOOD: explicit identityspawn('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

來源與署名

來源:parcadei/continuous-claude-v3位於.claude/skills/explicit-identity提交d07ff4b

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架