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 从公开仓库中收录这些内容。

举报或申请下架