mcpField
E
explicit-identity

explicit-identity

github.com/parcadei开发3.9k479 次安装39 周前更新
代码仓库

关于 explicit-identity

这项开发技能要求在进程和异步边界间传递明确标识符,通过传递和保存不同 ID 来避免竞态条件与错误归属。

主要功能

  1. 01在工作流中传递明确 ID
  2. 02保存 ID 以便后续关联
  3. 03使用完整 UUID
  4. 04区分不同 ID 类型
  5. 05避免查询最近的会话

适用场景

  1. 01将派生进程与会话关联
  2. 02避免错误归属到其他会话
  3. 03避免异步边界间的竞态条件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/parcadei/continuous-claude-v3 --skill explicit-identity

安装后在 Claude Code 中输入/explicit-identity确认已加载。

详细介绍

跨边界时显式指定身份

跨越进程或异步边界时,切勿依赖“最新”或“当前”。

模式

在整个流水线中传递显式标识符。“最近的”会引发竞态条件。

应该做

  • 启动进程时传递 --session-id $ID
  • 在状态文件中存储 ID,以便日后关联
  • 使用完整 UUID,而非部分匹配
  • 区分不同类型的 ID(不要合并不同概念)

不应该做

  • 在执行时查询“最近的会话”
  • 假定当前上下文在 await/spawn 之后仍然有效
  • 合并不同类型的 ID:
    • session_id = Claude Code 会话(面向用户)
    • root_span_id = Braintrust 跟踪记录(查询键)
    • turn_span_id = 会话中的 Braintrust 轮次

示例

// BAD: race condition at session boundaries
spawn('analyzer', ['--learn'])  // defaults to "most recent"

// GOOD: explicit identity
spawn('analyzer', ['--learn', '--session-id', input.session_id])

来源会话

  • 1c21e6c8:明确区分 session_id 与 root_span_id
  • 6a9f2d7a:通过显式传递修复了错误的会话归属
  • a541f08a:确认此模式可避免会话边界处的竞态条件

评论

支持 Markdown