目录
50 章已发布
查阅索引
- !!js表达式
- cordis.yml 怎样声明可替换的组合
- .dsh directory auto-discovery
- Repository Plugin 和 Self-modification
- 参数校验
- 工具参数校验与并行执行池
- 分层注册域 (ScopedLayers): global / ancestor / own
- 工具调度器与注册域
- 滚动并行池
- 工具参数校验与并行执行池
- 模型顺序提交保证
- 工具参数校验与并行执行池
- 取消语义: ABORTED vs ABORTED_BEFORE_DISPATCH
- 工具调度器与注册域
- 三层环境加载与 bootstrap-only 拒绝
- 从敲下 dsh 到补丁栈组装完成
- 五层补丁栈叠合顺序
- 从敲下 dsh 到补丁栈组装完成
- 五层patch叠加
- cordis.yml 怎样声明可替换的组合
- 字节预算 reserve 策略
- 结果太大了:Spill、截断和外溢
- abort draining
- 并行工具调用:顺序和屏障
- AbortController per phase
- turn/start 之前:谁有权开始新一轮Retry、Abort 与 turn 结账
- AbortController per turn
- Inbox 双队列:消息不是直接进模型的
- ACP harness
- Mock LLM 和 Snapshot 测试
- Activation disposal
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- admitWaking
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- Agent identity
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- Agent Preset
- Agent Preset:给单个会话换一套运行时
- agent-plane composition
- Agent Preset:给单个会话换一套运行时
- AgentLoop
- Agent、Session 和那个共用的身份证
- append vs replacement
- 历史从事件日志重建,不是从聊天界面
- append-only log
- append-only Session 与 Event 信封
- append-origin events
- Conversation UI:消费事件但不冒充事实源
- assistant/chunk event logging
- LLM Service、流式 chunk 与 BlockAssembler
- AsyncLocalStorage
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- backpressure
- JSON-RPC Server:长期进程的暴露方式
- best-effort flush 不阻塞
- 收束:Cancel、Dispose 和多 Agent 清理
- BlockAssembler
- 流式响应:chunk 怎样变成消息
- BlockAssembler incremental assembly
- LLM Service、流式 chunk 与 BlockAssembler
- blockedReason policy
- Phase、Revision、Round——三道演化闸门
- boot() 的两阶段错误处理
- 从敲下 dsh 到补丁栈组装完成
- cancel 四类原因
- Retry、Abort 与 turn 结账
- Cancel vs Dispose 方向相反
- 收束:Cancel、Dispose 和多 Agent 清理
- canonical value 与 model-facing content 区分
- 结果太大了:Spill、截断和外溢
- Capability Seam 三角色架构
- Capability Seam 与 cordis.yml 组合
- catalog generation
- Invariant:每个包都有自己的守卫
- causal chain
- append-only Session 与 Event 信封
- child-first disposal
- Subagent 出生与 lineage 管理
- child-first disposal ordering
- 收束:Cancel、Dispose 和多 Agent 清理
- chunk event persistence
- 流式响应:chunk 怎样变成消息
- CI gate
- Invariant:每个包都有自己的守卫
- claim consumption
- Inbox 双队列:消息不是直接进模型的
- CLI 分发器 vs 主程序
- 从敲下 dsh 到补丁栈组装完成
- Client Runtime
- 为什么 Web 新建会话不是 CLI 的前端按钮
- cold resume
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- compaction replace
- 历史从事件日志重建,不是从聊天界面
- Compaction two-phase
- Resume、Fork、Compaction——上下文改写术
- companion plugin
- Invariant:每个包都有自己的守卫
- complete section 替换语义
- System Prompt 四层组装
- composeFrom子agent继承
- Agent Preset:给单个会话换一套运行时
- compositionStamp generation轮转
- Agent Preset:给单个会话换一套运行时
- CONFIGURED_AGENT_IDENTITIES_KEY
- Agent、Session 和那个共用的身份证
- connection management
- TypeScript 和 Python SDK 共享一套协议
- connection supervisor
- MCP 工具注册与 Repository Plugin
- Context Proxy
- Cordis:不是依赖注入,是生命周期状态机
- context-overflow recovery
- Resume、Fork、Compaction——上下文改写术
- contextFold
- 投影(Projection):同一份日志长出不同状态
- contexts 渲染为 user-role 消息
- System Prompt 四层组装
- contiguous seq
- Event Envelope:每个事件必须带的身份证
- continuable subagent
- Subagent 出生与 lineage 管理
- control plane
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- Conversation UI
- Conversation UI:消费事件但不冒充事实源
- ConversationNodeAssembler
- Conversation UI:消费事件但不冒充事实源
- Cordis
- Cordis:不是依赖注入,是生命周期状态机
- Cordis dynamic plugins
- Repository Plugin 和 Self-modification
- cordis:group isolate realm
- cordis.yml 怎样声明可替换的组合
- cordis.yml 每次启动覆写的原因
- 从敲下 dsh 到补丁栈组装完成
- cordis.yml 声明式组合
- Capability Seam 与 cordis.yml 组合
- cordis.yml root空数组
- cordis.yml 怎样声明可替换的组合
- CreateAgentOptions
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- credential redaction
- 凭证隔离、Telemetry 与 Mock 测试
- deepFreeze
- 投影(Projection):同一份日志长出不同状态
- defense in depth
- 安全分层:Trust、Permission、Sandbox、Network
- delegation depth
- Subagent 出生与 lineage 管理
- delegationDepth resume survival
- Resume、Fork、Compaction——上下文改写术
- delta-only protocol tolerance
- 流式响应:chunk 怎样变成消息
- dependency closure
- Invariant:每个包都有自己的守卫
- derivedGeneration
- 投影(Projection):同一份日志长出不同状态
- deriveMessages
- 历史从事件日志重建,不是从聊天界面Surface 投影:模型看到的历史不等于你看到的
- detached checkout
- 从一个 commit 到下一版:这本书怎样更新
- detached process-group tree
- Bash、Subprocess 和 PTY:各管哪段生命周期
- disabled 互斥平台切换
- Capability Seam 与 cordis.yml 组合
- discriminated union
- Event Envelope:每个事件必须带的身份证
- disposal memoization 幂等
- 收束:Cancel、Dispose 和多 Agent 清理
- doc drift
- 从一个 commit 到下一版:这本书怎样更新
- doc-sync gate
- 从一个 commit 到下一版:这本书怎样更新
- docs drift
- Invariant:每个包都有自己的守卫
- domain projection
- Conversation UI:消费事件但不冒充事实源
- drain to quiescence
- Retry、Abort 与 turn 结账
- drainDescendants 范围隔离
- 收束:Cancel、Dispose 和多 Agent 清理
- dsh web alias
- 为什么 Web 新建会话不是 CLI 的前端按钮
- durable storage
- Telemetry 不能反过来定义会话
- durable-before-wait
- Retry、Abort 与 turn 结账
- effect Scope cleanup
- cordis.yml 怎样声明可替换的组合
- embedded runtime
- TypeScript 和 Python SDK 共享一套协议
- empty message null
- 历史从事件日志重建,不是从聊天界面
- enter reject decision
- turn/start 之前:谁有权开始新一轮
- EntryOptions
- cordis.yml 怎样声明可替换的组合
- error 结构化
- Retry、Abort 与 turn 结账
- event envelope
- append-only Session 与 Event 信封
- event lineage
- Trajectory、Query 和 Replay
- event mux stream
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- event type system
- Event Envelope:每个事件必须带的身份证
- event-sourced goal
- Goal 为什么是事件流而不是字段
- event-sourced UI
- Conversation UI:消费事件但不冒充事实源
- evidence levels
- 从一个 commit 到下一版:这本书怎样更新
- evidence refresh
- 从一个 commit 到下一版:这本书怎样更新
- exclusive barriers
- 并行工具调用:顺序和屏障
- execution groups
- 并行工具调用:顺序和屏障
- executionMode 分类
- 工具参数校验与并行执行池
- exit_plan_mode user approval gate
- Plan、Todo、Schedule——Goal 的三个邻居
- fail-closed
- 安全分层:Trust、Permission、Sandbox、Network
- fail-closed classification
- 工具注册和作用域:谁能看到什么工具并行工具调用:顺序和屏障
- feedback
- Telemetry 不能反过来定义会话
- fetch carrier
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- Fiber dispose/reload
- Repository Plugin 和 Self-modification
- finally turn/end 保证
- Retry、Abort 与 turn 结账
- finish reason default
- 流式响应:chunk 怎样变成消息
- firstLiveSeq boundary
- Resume、Fork、Compaction——上下文改写术
- five-dimension comparison
- 从一个 commit 到下一版:这本书怎样更新
- fixed commit
- 从一个 commit 到下一版:这本书怎样更新
- fork boundary validation
- Resume、Fork、Compaction——上下文改写术
- Fork prefix seed
- Resume、Fork、Compaction——上下文改写术
- four evidence types
- 从一个 commit 到下一版:这本书怎样更新
- four-quadrant RPC model
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- freezeRestoredObject iterative freeze
- Resume、Fork、Compaction——上下文改写术
- generator effect rollback
- Agent、Session 和那个共用的身份证
- GoalActivation process-local
- Goal 为什么是事件流而不是字段Phase、Revision、Round——三道演化闸门
- GoalChangeMeta
- Goal 为什么是事件流而不是字段
- GoalFoldState
- Goal 为什么是事件流而不是字段
- GoalPhase finite state machine
- Goal 为什么是事件流而不是字段
- GoalPhase state machine
- Phase、Revision、Round——三道演化闸门
- GoalProjection
- 投影(Projection):同一份日志长出不同状态
- graceful shutdown
- JSON-RPC Server:长期进程的暴露方式
- HarnessClient
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- HarnessSdkJsonRpcServer
- Headless CLI 与 JSON-RPC Server——两种产品面ApiProxy 与 SDK:Web 的控制面和客户端协议
- head-of-line blocking
- 并行工具调用:顺序和屏障
- head-tail 50/50 split 预览
- 结果太大了:Spill、截断和外溢
- headerFold
- 投影(Projection):同一份日志长出不同状态
- Headless CLI
- Headless CLI 与 JSON-RPC Server——两种产品面
- Headless entry
- 为什么 Web 新建会话不是 CLI 的前端按钮
- Headless startup
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- headless-runner
- Headless CLI 与 JSON-RPC Server——两种产品面
- higher-seq-wins
- Conversation UI:消费事件但不冒充事实源
- HMR effect scope undo
- Repository Plugin 和 Self-modification
- HMR Fiber dispose/reload
- cordis.yml 怎样声明可替换的组合
- Host control plane
- 为什么 Web 新建会话不是 CLI 的前端按钮
- hot reload
- Cordis:不是依赖注入,是生命周期状态机
- HTTP/WebSocket bridge
- 为什么 Web 新建会话不是 CLI 的前端按钮
- id-targeted patch
- cordis.yml 怎样声明可替换的组合
- idle maintenance running
- turn/start 之前:谁有权开始新一轮
- ignorable marker
- append-only Session 与 Event 信封Event Envelope:每个事件必须带的身份证
- Inbox dual-queue
- Inbox 双队列:消息不是直接进模型的
- incremental assembly
- 流式响应:chunk 怎样变成消息
- incremental fold
- 投影(Projection):同一份日志长出不同状态
- incremental projection
- 历史从事件日志重建,不是从聊天界面
- inherited tools
- 工具注册和作用域:谁能看到什么工具
- initiator scope 级联
- 收束:Cancel、Dispose 和多 Agent 清理
- InitiatorScope
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- inject declaration
- Cordis:不是依赖注入,是生命周期状态机
- insert patch
- cordis.yml 怎样声明可替换的组合
- invariant
- Invariant:每个包都有自己的守卫
- invariant checking
- Mock LLM 和 Snapshot 测试
- isConcurrencySafe
- 工具注册和作用域:谁能看到什么工具工具参数校验与并行执行池
- isolate 服务隔离
- Capability Seam 与 cordis.yml 组合
- isolate realm强制
- Agent Preset:给单个会话换一套运行时
- jitter 对称抖动
- Retry、Abort 与 turn 结账
- JSON Schema 编译
- 工具参数校验与并行执行池
- JSON-RPC
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- JSON-RPC contract
- TypeScript 和 Python SDK 共享一套协议
- keepInbox interrupt 语义
- 收束:Cancel、Dispose 和多 Agent 清理
- lineage tracking
- Subagent 出生与 lineage 管理
- LLM mock
- Mock LLM 和 Snapshot 测试
- llm-retry 指数退避
- Retry、Abort 与 turn 结账
- llm/stream waterfall interception
- LLM Service、流式 chunk 与 BlockAssembler
- LlmRuntime adapter registry
- LLM Service、流式 chunk 与 BlockAssembler
- long-lived server
- Headless CLI 与 JSON-RPC Server——两种产品面
- long-running process
- JSON-RPC Server:长期进程的暴露方式
- markAgentLoopRequest deep-freeze
- LLM Service、流式 chunk 与 BlockAssembler
- max-tokens 粘滞性
- Retry、Abort 与 turn 结账
- max-tokens tool-call discard
- 流式响应:chunk 怎样变成消息
- maxParallelToolCalls 滚动并发池
- 工具调度器与注册域
- MCP client bridge plugin
- MCP 工具注册与 Repository Plugin
- minimal closure
- 从一个 commit 到下一版:这本书怎样更新
- MockLlm server
- 凭证隔离、Telemetry 与 Mock 测试
- model-visible history
- Surface 投影:模型看到的历史不等于你看到的
- multi-session
- JSON-RPC Server:长期进程的暴露方式
- multiplicative composition
- 安全分层:Trust、Permission、Sandbox、Network
- namespace prefixing
- MCP 工具注册与 Repository Plugin
- network hygiene
- 安全分层:Trust、Permission、Sandbox、Network
- next-step queue
- Inbox 双队列:消息不是直接进模型的
- next-turn queue
- Inbox 双队列:消息不是直接进模型的
- normal 模式与 always 模式
- Retry、Abort 与 turn 结账
- normalizeApiKey
- 凭证隔离、Telemetry 与 Mock 测试
- notification subscription
- TypeScript 和 Python SDK 共享一套协议
- notifySettlement
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- one-shot agent
- Headless CLI 与 JSON-RPC Server——两种产品面
- one-shot subagent
- Subagent 出生与 lineage 管理
- one-shot vs long-lived
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- OPEN_TURN rejection
- Resume、Fork、Compaction——上下文改写术
- OpenTelemetry backend
- 凭证隔离、Telemetry 与 Mock 测试
- optimistic concurrency
- Telemetry 不能反过来定义会话
- output collection with spill
- Bash、Subprocess 和 PTY:各管哪段生命周期
- own tools exemption
- 工具注册和作用域:谁能看到什么工具
- parallel vs exclusive
- 工具参数校验与并行执行池
- parent mailbox
- Subagent 出生与 lineage 管理
- Parent Mailbox
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- parent-child tree
- Subagent 出生与 lineage 管理
- parentSession lineage
- Resume、Fork、Compaction——上下文改写术
- PartialBlock state machine
- 流式响应:chunk 怎样变成消息
- pass-through args 设计
- 从敲下 dsh 到补丁栈组装完成
- permission gate
- 安全分层:Trust、Permission、Sandbox、Network
- persona complete section
- Agent Preset:给单个会话换一套运行时
- phase state machine
- Inbox 双队列:消息不是直接进模型的
- phase transition validation
- Phase、Revision、Round——三道演化闸门
- Plan Mode collaboration state
- Plan、Todo、Schedule——Goal 的三个邻居
- plan/mode event last-wins fold
- Plan、Todo、Schedule——Goal 的三个邻居
- pre/around/post 瀑布管线与 monotonic guard
- 工具调度器与注册域
- PreparedLlmCall one-shot dispatch
- LLM Service、流式 chunk 与 BlockAssembler
- preset discovery
- Agent Preset:给单个会话换一套运行时
- PresetRoot trust分级
- Agent Preset:给单个会话换一套运行时
- PresetTree Include子类
- Agent Preset:给单个会话换一套运行时
- preStep waterfall
- Inbox 双队列:消息不是直接进模型的turn/start 之前:谁有权开始新一轮
- product surface
- Headless CLI 与 JSON-RPC Server——两种产品面
- Profile 目录结构与自动初始化
- 从敲下 dsh 到补丁栈组装完成
- projection caching
- Surface 投影:模型看到的历史不等于你看到的
- projection last-wins
- Goal 为什么是事件流而不是字段
- Projection pattern
- 投影(Projection):同一份日志长出不同状态
- ProjectionValueStore
- Conversation UI:消费事件但不冒充事实源
- PromptAssembly 四层结构
- System Prompt 四层组装
- protocol framing
- Headless CLI 与 JSON-RPC Server——两种产品面
- provider retryAfterMs
- Retry、Abort 与 turn 结账
- PTY terminal-bash backend
- Bash、Subprocess 和 PTY:各管哪段生命周期
- Python SDK
- TypeScript 和 Python SDK 共享一套协议
- ReactLoopAgent phase
- turn/start 之前:谁有权开始新一轮
- read 工具 anti-loop 跳过规则
- 结果太大了:Spill、截断和外溢
- recompose blank-session切换
- Agent Preset:给单个会话换一套运行时
- reconnect recovery
- Conversation UI:消费事件但不冒充事实源
- record/replay
- Mock LLM 和 Snapshot 测试
- ReflectService
- Cordis:不是依赖注入,是生命周期状态机
- registerAdapter atomic replace
- LLM Service、流式 chunk 与 BlockAssembler
- releaseOwnership ordering
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- replaceGeneration
- Surface 投影:模型看到的历史不等于你看到的
- replaceGeneration counter
- Resume、Fork、Compaction——上下文改写术
- reportFrom
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- Repository Plugin
- Repository Plugin 和 Self-modification
- Repository Plugin self-modification
- MCP 工具注册与 Repository Plugin
- resolveSessionPreset resume恢复
- Agent Preset:给单个会话换一套运行时
- Resume ownership transfer
- Resume、Fork、Compaction——上下文改写术
- Revision CAS optimistic lock
- Phase、Revision、Round——三道演化闸门
- role secret
- 凭证隔离、Telemetry 与 Mock 测试
- Round counter
- Phase、Revision、Round——三道演化闸门
- RpcMethodMap
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- run_code internal scheduler
- 并行工具调用:顺序和屏障
- run_code lazy load
- 工具注册和作用域:谁能看到什么工具
- RuntimeContextProjection
- 投影(Projection):同一份日志长出不同状态
- sandbox confinement
- 安全分层:Trust、Permission、Sandbox、Network
- schedule after/at/every rules
- Plan、Todo、Schedule——Goal 的三个邻居
- schedule dispatch framing injection
- Plan、Todo、Schedule——Goal 的三个邻居
- ScheduleRuntime durable timer
- Plan、Todo、Schedule——Goal 的三个邻居
- scope parent binding
- Agent Preset:给单个会话换一套运行时
- ScopedLayers
- 工具注册和作用域:谁能看到什么工具Skills:发现、装载和上下文注入
- ScopedLayers per-session
- Repository Plugin 和 Self-modification
- SDK client
- TypeScript 和 Python SDK 共享一套协议
- SDK protocol
- JSON-RPC Server:长期进程的暴露方式
- sections order 数值约定
- System Prompt 四层组装
- seedLength durable boundary
- Resume、Fork、Compaction——上下文改写术
- self-modification boundary
- Repository Plugin 和 Self-modification
- sendWaking
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- seq contiguity
- append-only Session 与 Event 信封
- Service Definition vs Provider vs Consumer
- Capability Seam 与 cordis.yml 组合
- service resolution
- Cordis:不是依赖注入,是生命周期状态机
- Session identity
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- session lifecycle
- JSON-RPC Server:长期进程的暴露方式
- session management
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- session multiplexing
- Headless CLI 与 JSON-RPC Server——两种产品面
- session query
- Trajectory、Query 和 Replay
- session telemetry
- 凭证隔离、Telemetry 与 Mock 测试
- session tree
- TypeScript 和 Python SDK 共享一套协议
- session.event notification
- JSON-RPC Server:长期进程的暴露方式
- session/end-seed
- Agent、Session 和那个共用的身份证
- session/end-seed marker
- Resume、Fork、Compaction——上下文改写术
- session/prompt
- JSON-RPC Server:长期进程的暴露方式
- SessionEvent envelope
- Event Envelope:每个事件必须带的身份证
- SessionHeader
- Agent、Session 和那个共用的身份证
- SessionPreparation
- Agent、Session 和那个共用的身份证
- SessionPreparation disposable
- Resume、Fork、Compaction——上下文改写术
- SessionStore
- Agent、Session 和那个共用的身份证
- settlement notice
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- shadowed nodes
- Surface 投影:模型看到的历史不等于你看到的
- shared protocol
- TypeScript 和 Python SDK 共享一套协议
- shell stream-level 独立截断
- 结果太大了:Spill、截断和外溢
- ShellExecutor capability seam
- Bash、Subprocess 和 PTY:各管哪段生命周期
- side effect 不回滚
- 收束:Cancel、Dispose 和多 Agent 清理
- sidecar
- Telemetry 不能反过来定义会话
- SIGTERM-grace-SIGKILL escalation
- Bash、Subprocess 和 PTY:各管哪段生命周期
- skill-filesystem
- Skills:发现、装载和上下文注入
- skill-filesystem project roots
- Repository Plugin 和 Self-modification
- SkillCatalog
- Skills:发现、装载和上下文注入
- SkillInvocationPolicy
- Skills:发现、装载和上下文注入
- SkillProvider
- Skills:发现、装载和上下文注入
- SkillRegistry
- Skills:发现、装载和上下文注入
- snapshot fixture
- 凭证隔离、Telemetry 与 Mock 测试
- snapshot testing
- Mock LLM 和 Snapshot 测试
- source verification
- 从一个 commit 到下一版:这本书怎样更新
- sourceEventSeqs
- append-only Session 与 Event 信封
- sourceEventSeqs provenance
- 流式响应:chunk 怎样变成消息
- spill-policy 插件架构
- 结果太大了:Spill、截断和外溢
- SpillStore best-effort 存储语义
- 结果太大了:Spill、截断和外溢
- splice durable append
- Inbox 双队列:消息不是直接进模型的
- standing mount
- Agent Preset:给单个会话换一套运行时
- standing mount generation
- Repository Plugin 和 Self-modification
- state projection
- 为什么 Web 新建会话不是 CLI 的前端按钮Conversation UI:消费事件但不冒充事实源
- stdio transport
- JSON-RPC Server:长期进程的暴露方式ApiProxy 与 SDK:Web 的控制面和客户端协议
- straggler delta rejection
- 流式响应:chunk 怎样变成消息
- StreamChunk protocol
- LLM Service、流式 chunk 与 BlockAssembler流式响应:chunk 怎样变成消息
- strict variable interpolation
- System Prompt 四层组装
- subagent-settled source
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- SubagentDepthError
- Subagent 出生与 lineage 管理
- SubagentReportDelivery
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- SubprocessRuntime process primitive
- Bash、Subprocess 和 PTY:各管哪段生命周期
- surface eligible events
- 历史从事件日志重建,不是从聊天界面
- surface metadata
- Event Envelope:每个事件必须带的身份证
- surface projection
- append-only Session 与 Event 信封
- Surface projection
- Surface 投影:模型看到的历史不等于你看到的
- Surface replace operation
- Resume、Fork、Compaction——上下文改写术
- SurfaceFoldResult
- Surface 投影:模型看到的历史不等于你看到的
- surfaceOp
- Surface 投影:模型看到的历史不等于你看到的
- SurfaceOp
- append-only Session 与 Event 信封
- surfaceOp marker
- 历史从事件日志重建,不是从聊天界面
- syncTools atomic swap
- MCP 工具注册与 Repository Plugin
- synthetic error result
- Retry、Abort 与 turn 结账
- synthetic errors
- 并行工具调用:顺序和屏障
- telemetry
- Telemetry 不能反过来定义会话
- Todo whole-list replacement
- Plan、Todo、Schedule——Goal 的三个邻居
- todo_write allowParallelInProgress
- Plan、Todo、Schedule——Goal 的三个邻居
- tombstone
- Goal 为什么是事件流而不是字段
- tool presentation view
- Conversation UI:消费事件但不冒充事实源
- tool-bash agent interface
- Bash、Subprocess 和 PTY:各管哪段生命周期
- tool-pairing balance
- Resume、Fork、Compaction——上下文改写术
- tool-skill
- Skills:发现、装载和上下文注入
- ToolArgsError
- 工具参数校验与并行执行池
- ToolExecutionMode: parallel vs exclusive 的 fail-closed 分类
- 工具调度器与注册域
- ToolPresentationMode: native / code / both 三种呈现
- 工具调度器与注册域
- ToolRestriction
- 工具注册和作用域:谁能看到什么工具
- ToolRestriction: allow/deny 交集过滤
- 工具调度器与注册域
- ToolRuntime: 注册表 + 执行管线 + 调度器三合一
- 工具调度器与注册域
- tools 排序与 toolOrder
- System Prompt 四层组装
- top-down cancellation propagation
- 收束:Cancel、Dispose 和多 Agent 清理
- trajectory tracing
- Trajectory、Query 和 Replay
- transcript vs model surface
- 历史从事件日志重建,不是从聊天界面
- transport layer (stdio/streamable-http)
- MCP 工具注册与 Repository Plugin
- transport peer
- Headless CLI 与 JSON-RPC Server——两种产品面
- trust boundary
- 安全分层:Trust、Permission、Sandbox、Network
- turn boundary
- Inbox 双队列:消息不是直接进模型的
- turn start append order
- turn/start 之前:谁有权开始新一轮
- two-arm 设计(模型面与 durable log)
- 结果太大了:Spill、截断和外溢
- TypeScript SDK
- TypeScript 和 Python SDK 共享一套协议
- variables 近覆盖远
- System Prompt 四层组装
- verify-cordis-config 静态验证
- Capability Seam 与 cordis.yml 组合
- wakeup vs quiet
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- wakingAfterAbort
- Inbox 双队列:消息不是直接进模型的
- waterfall 拦截
- System Prompt 四层组装
- waterfall redaction
- 凭证隔离、Telemetry 与 Mock 测试
- Web entry
- 为什么 Web 新建会话不是 CLI 的前端按钮
- web-app bundle
- 为什么 Web 新建会话不是 CLI 的前端按钮
- whole-value snapshot
- Goal 为什么是事件流而不是字段
- workspace-level capabilities
- Repository Plugin 和 Self-modification
- _refresh
- Cordis:不是依赖注入,是生命周期状态机
- _reload
- Cordis:不是依赖注入,是生命周期状态机
- _reload执行新plugin
- cordis.yml 怎样声明可替换的组合
- _setEpoch
- Cordis:不是依赖注入,是生命周期状态机
- _unload
- Cordis:不是依赖注入,是生命周期状态机
- /plan command toggle via PlanModeController.set()
- Plan、Todo、Schedule——Goal 的三个邻居
- 插件加载时校验 maxInlineBytes
- 结果太大了:Spill、截断和外溢
- 断线重连 refetch history tail 重建 baseline
- Conversation UI:消费事件但不冒充事实源
- 返回替换后 content 或保留原文
- 结果太大了:Spill、截断和外溢
- 建 detached checkout 确认干净
- 从一个 commit 到下一版:这本书怎样更新
- 旧Fiber _unload LIFO disposers
- Repository Plugin 和 Self-modification
- 模型请求失败
- Retry、Abort 与 turn 结账
- 四类证据分别刷新
- 从一个 commit 到下一版:这本书怎样更新
- 五维度比较 graph/symbols/events/config/entrypoints
- 从一个 commit 到下一版:这本书怎样更新
- 新Agent看到新composition
- Repository Plugin 和 Self-modification
- 新Fiber _reload effects注册
- Repository Plugin 和 Self-modification
- 已存在Agent继续用旧generation
- Repository Plugin 和 Self-modification
- 用户输入经 ApiProxy RPC 发回 Host
- Conversation UI:消费事件但不冒充事实源
- 真实 dogfood
- 从一个 commit 到下一版:这本书怎样更新
- 字节大小检查超 cap
- 结果太大了:Spill、截断和外溢
- 最小更新闭包验证
- 从一个 commit 到下一版:这本书怎样更新
- abort 信号传播
- Retry、Abort 与 turn 结账
- Activation materialization
- Subagent 出生与 lineage 管理
- ACTIVE
- Cordis:不是依赖注入,是生命周期状态机
- adapter emits StreamChunk
- 流式响应:chunk 怎样变成消息
- adapter registration
- LLM Service、流式 chunk 与 BlockAssembler
- agent loop receives chunk from async iterator
- 流式响应:chunk 怎样变成消息
- agent.whenIdle await
- Headless CLI 与 JSON-RPC Server——两种产品面
- agent/pre-step appends plan/mode event
- Plan、Todo、Schedule——Goal 的三个邻居
- agent/session-start resume source
- Resume、Fork、Compaction——上下文改写术
- AgentPresets Service构造(inject loader)
- Agent Preset:给单个会话换一套运行时
- AgentRegistry.create
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- AgentRegistry.register
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- analyzeEventLog folding
- Trajectory、Query 和 Replay
- ancestor WeakSet
- Subagent 出生与 lineage 管理
- ApiProxy HTTP dispatch
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- ApiProxy JSON-RPC agent creation
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- append own tools
- 工具注册和作用域:谁能看到什么工具
- append transition
- Surface 投影:模型看到的历史不等于你看到的
- apply restrictions to inherited
- 工具注册和作用域:谁能看到什么工具
- applyGoalChange transition
- Goal 为什么是事件流而不是字段
- applyGoalEvent per-event
- Goal 为什么是事件流而不是字段
- approval policy fold
- 安全分层:Trust、Permission、Sandbox、Network
- argv → parseDshArgs → invocation mode dispatch
- 从敲下 dsh 到补丁栈组装完成
- assembler.blocks() produces ContentBlock array
- 流式响应:chunk 怎样变成消息
- assembler.push updates PartialBlock map
- 流式响应:chunk 怎样变成消息
- assertUsableApiKey gate
- 凭证隔离、Telemetry 与 Mock 测试
- assistant/message commit
- LLM Service、流式 chunk 与 BlockAssembler
- await next() 让下游 hook 处理完整结果
- 结果太大了:Spill、截断和外溢
- background job detach
- Bash、Subprocess 和 PTY:各管哪段生命周期
- bindScopeParent(agentKey,standing.key)
- Agent Preset:给单个会话换一套运行时
- blank session recompose切换
- Agent Preset:给单个会话换一套运行时
- block assembly
- LLM Service、流式 chunk 与 BlockAssembler
- block vs pause distinction
- Phase、Revision、Round——三道演化闸门
- block-end freezes partial
- 流式响应:chunk 怎样变成消息
- block-start opens partial
- 流式响应:chunk 怎样变成消息
- boot(): Context → Loader → mountRootInclude → await settlement → assertEntriesActivated
- 从敲下 dsh 到补丁栈组装完成
- boot加载root+allPatches
- cordis.yml 怎样声明可替换的组合
- build group
- 并行工具调用:顺序和屏障
- cache invalidation
- Surface 投影:模型看到的历史不等于你看到的投影(Projection):同一份日志长出不同状态
- call preparation and adapter lock
- LLM Service、流式 chunk 与 BlockAssembler
- cancel keepInbox:true 保留 inbox 排队消息
- 收束:Cancel、Dispose 和多 Agent 清理
- cancellableDelay 等待
- Retry、Abort 与 turn 结账
- CAS revision+1 per mutation
- Phase、Revision、Round——三道演化闸门
- chain layers
- 工具注册和作用域:谁能看到什么工具
- child report → deliverReport → sendWaking → parent.followup/steer/inject
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- child settle → finishDisposal → notifySettlement → releaseOwnership → observer.settle
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- ChildLock serialization per child
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- childSessionMeta
- Subagent 出生与 lineage 管理
- chunk streaming
- LLM Service、流式 chunk 与 BlockAssembler
- claim drains next-step plus one next-turn
- Inbox 双队列:消息不是直接进模型的
- classify mode
- 并行工具调用:顺序和屏障
- Client projection from wire events
- 为什么 Web 新建会话不是 CLI 的前端按钮
- closeInitiators cascade:fiber UNLOADING 时拒绝新 initiator boundary
- 收束:Cancel、Dispose 和多 Agent 清理
- cold resume → persistence.inspect → authorizeLineage → fold descriptor → agents.resume → materialize
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- commitReady 顺序提交
- 工具参数校验与并行执行池
- commitReady: model-order 提交 → appendToolResult → acceptContext
- 工具调度器与注册域
- compaction replacement
- 历史从事件日志重建,不是从聊天界面
- compaction/end
- Resume、Fork、Compaction——上下文改写术
- compaction/start lock
- Resume、Fork、Compaction——上下文改写术
- complete section 恢复
- System Prompt 四层组装
- complete section 检查
- System Prompt 四层组装
- composeLive HMR重建
- cordis.yml 怎样声明可替换的组合
- composeProfile: bundle layers → profile patches → home patches → overlays → telemetry
- 从敲下 dsh 到补丁栈组装完成
- composeProfile叠五层patch
- cordis.yml 怎样声明可替换的组合
- conditionally append run_code
- 工具注册和作用域:谁能看到什么工具
- contexts 收集
- System Prompt 四层组装
- ConversationNodeAssembler fold events 产出 snapshot
- Conversation UI:消费事件但不冒充事实源
- cordis_define创建dynamic plugin→cordis_run启动host/client halves
- Repository Plugin 和 Self-modification
- cordis.yml load → Loader mount → Fiber lifecycle
- Capability Seam 与 cordis.yml 组合
- create revision=1 phase=active
- Phase、Revision、Round——三道演化闸门
- createAssistantMessage wraps blocks
- 流式响应:chunk 怎样变成消息
- createScope + mountPreset + audit
- Agent Preset:给单个会话换一套运行时
- credential scrubbing
- 安全分层:Trust、Permission、Sandbox、Network
- dedup injection
- 投影(Projection):同一份日志长出不同状态
- deepFreeze
- append-only Session 与 Event 信封
- defineTool 编译 parameterSchema
- 工具参数校验与并行执行池
- delegationDepthOf
- Subagent 出生与 lineage 管理
- derive projection
- 历史从事件日志重建,不是从聊天界面
- discoverPresets扫描roots子目录
- Agent Preset:给单个会话换一套运行时
- dispatch bodies concurrently
- 并行工具调用:顺序和屏障
- dispatch: around-execute waterfall → dispatchToolBody → fuse signals → tool.execute()
- 工具调度器与注册域
- disposal promise memoization:activation.disposal 首次赋值后所有并发调用共享
- 收束:Cancel、Dispose 和多 Agent 清理
- DISPOSED
- Cordis:不是依赖注入,是生命周期状态机
- disposeInitiators:关闭 → 释放重入链 → drain 活跃 runs → disable AsyncLocalStorage
- 收束:Cancel、Dispose 和多 Agent 清理
- doc-sync gate 全套通过
- 从一个 commit 到下一版:这本书怎样更新
- drain events to idle
- TypeScript 和 Python SDK 共享一套协议
- drain on abort
- 并行工具调用:顺序和屏障
- end-seed append
- Agent、Session 和那个共用的身份证
- ensureSession dedup
- 为什么 Web 新建会话不是 CLI 的前端按钮
- ensureStanding单flight创建standing mount
- Agent Preset:给单个会话换一套运行时
- ensureTargetDurable
- Telemetry 不能反过来定义会话
- enter+announce
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- entry.update触发reload
- cordis.yml 怎样声明可替换的组合
- escalation approval sequence
- 安全分层:Trust、Permission、Sandbox、Network
- event append
- 历史从事件日志重建,不是从聊天界面
- event creation
- Event Envelope:每个事件必须带的身份证
- execute 包装先 validate
- 工具参数校验与并行执行池
- executionMode 分类 pending call
- 工具参数校验与并行执行池
- executionMode() 分类: isConcurrencySafe === true → parallel, 其余 → exclusive
- 工具调度器与注册域
- exit_plan_mode triggers userQuestions approval
- Plan、Todo、Schedule——Goal 的三个邻居
- FAILED
- Cordis:不是依赖注入,是生命周期状态机
- Fiber _unload LIFO cleanup
- cordis.yml 怎样声明可替换的组合
- fill pool
- 并行工具调用:顺序和屏障
- fillPool 填充并行窗口
- 工具参数校验与并行执行池
- finalize 后处理
- 工具参数校验与并行执行池
- finalize: post-execute waterfall → applyFinalContent → materialize → notifyResult
- 工具调度器与注册域
- finish marks stream end
- 流式响应:chunk 怎样变成消息
- finishDisposal 步骤:wake → cancel → idle Promise → children dispose → await children → await idle → flush → capture → handle.dispose → delete → notifySettlement → releaseOwnership → settle
- 收束:Cancel、Dispose 和多 Agent 清理
- flattenPlainText 判断纯文本
- 结果太大了:Spill、截断和外溢
- fold replay
- Surface 投影:模型看到的历史不等于你看到的
- foldGoal replay
- Goal 为什么是事件流而不是字段
- fork boundary→_forkSeed→create child
- Resume、Fork、Compaction——上下文改写术
- frozen return
- 投影(Projection):同一份日志长出不同状态
- functional probe
- 安全分层:Trust、Permission、Sandbox、Network
- getOrCreateSession dedup
- JSON-RPC Server:长期进程的暴露方式
- goal/change append
- Goal 为什么是事件流而不是字段
- Headless direct createAgent
- 为什么 Web 新建会话不是 CLI 的前端按钮
- headless one-shot
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- headless-runner create agent
- Headless CLI 与 JSON-RPC Server——两种产品面
- headless-startup parse task
- Headless CLI 与 JSON-RPC Server——两种产品面
- Host 产生新事件经 mux 回推
- Conversation UI:消费事件但不冒充事实源
- Host-managed sessions
- 为什么 Web 新建会话不是 CLI 的前端按钮
- incremental delta processing
- Surface 投影:模型看到的历史不等于你看到的
- initialize handshake
- JSON-RPC Server:长期进程的暴露方式TypeScript 和 Python SDK 共享一套协议
- InputStep scripting
- Mock LLM 和 Snapshot 测试
- isolate scope creation → independent resolution
- Capability Seam 与 cordis.yml 组合
- layer chain 构建
- System Prompt 四层组装
- lazy fold
- 投影(Projection):同一份日志长出不同状态
- live capture firehose
- 凭证隔离、Telemetry 与 Mock 测试
- LLM summary
- Resume、Fork、Compaction——上下文改写术
- llm/retry 事件持久化
- Retry、Abort 与 turn 结账
- LOADING
- Cordis:不是依赖注入,是生命周期状态机
- loadLayeredEnv: inherited > project .env > user .env
- 从敲下 dsh 到补丁栈组装完成
- log.push
- append-only Session 与 Event 信封
- MCP connect → syncTools → register in ToolRuntime
- MCP 工具注册与 Repository Plugin
- message construction
- 历史从事件日志重建,不是从聊天界面
- message derivation
- Surface 投影:模型看到的历史不等于你看到的
- model capability resolution
- LLM Service、流式 chunk 与 BlockAssembler
- model response → toolCalls[] → executeToolCalls entry
- 工具调度器与注册域
- model-free prune
- Resume、Fork、Compaction——上下文改写术
- mount(agentCtx,id)入口
- Agent Preset:给单个会话换一套运行时
- mux SSE stream
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- MuxFrame 分发到各 projection store
- Conversation UI:消费事件但不冒充事实源
- nodes maintenance
- 历史从事件日志重建,不是从聊天界面
- Normalizers
- Mock LLM 和 Snapshot 测试
- observer notification
- append-only Session 与 Event 信封
- on-demand canonical-log capture
- 凭证隔离、Telemetry 与 Mock 测试
- ordered commit
- 并行工具调用:顺序和屏障
- patch文件变化→watchUserPatches→entry.update→Fiber restart
- Repository Plugin 和 Self-modification
- PENDING
- Cordis:不是依赖注入,是生命周期状态机
- performShutdown drain
- JSON-RPC Server:长期进程的暴露方式
- Permission answers queue
- Mock LLM 和 Snapshot 测试
- persistence.prepare load
- Resume、Fork、Compaction——上下文改写术
- phase transition
- turn/start 之前:谁有权开始新一轮
- post-commit application
- Invariant:每个包都有自己的守卫
- pre-commit validation
- Invariant:每个包都有自己的守卫
- prepare: createExecution → pre-execute waterfall → guard → decide stage
- 工具调度器与注册域
- prepare→enter→announce publication
- Resume、Fork、Compaction——上下文改写术
- prepare→setup→publish transaction
- Agent、Session 和那个共用的身份证
- prepareProfile写空root
- cordis.yml 怎样声明可替换的组合
- preStep claims and assembles prompt
- Inbox 双队列:消息不是直接进模型的
- preStep gates
- turn/start 之前:谁有权开始新一轮
- preview() head/tail split 生成预览
- 结果太大了:Spill、截断和外溢
- prompt + subscribe notifications
- TypeScript 和 Python SDK 共享一套协议
- prompt followup
- JSON-RPC Server:长期进程的暴露方式
- PTY session initialize and poll readiness
- Bash、Subprocess 和 PTY:各管哪段生命周期
- raceAbortCall cancellation
- Resume、Fork、Compaction——上下文改写术
- React 组件订阅 snapshot 变化
- Conversation UI:消费事件但不冒充事实源
- readSession replay
- Trajectory、Query 和 Replay
- reentry guard
- append-only Session 与 Event 信封
- reference equality
- 投影(Projection):同一份日志长出不同状态
- register into layer
- 工具注册和作用域:谁能看到什么工具
- renderPrompt 插值与 join
- System Prompt 四层组装
- replace append
- Resume、Fork、Compaction——上下文改写术
- replace transition
- Surface 投影:模型看到的历史不等于你看到的
- Repository define → cordis.yml patch → MCP server start
- MCP 工具注册与 Repository Plugin
- request deep-freeze and marking
- LLM Service、流式 chunk 与 BlockAssembler
- request-error waterfall 触发
- Retry、Abort 与 turn 结账
- resolveChildDepth
- Subagent 出生与 lineage 管理
- resolvedRoots构建(config.roots + userRoot)
- Agent Preset:给单个会话换一套运行时
- resolveSessionPreset从events尾部恢复
- Agent Preset:给单个会话换一套运行时
- resume arm
- Goal 为什么是事件流而不是字段
- resume rearm active/disarmed
- Phase、Revision、Round——三道演化闸门
- resume safety
- Event Envelope:每个事件必须带的身份证
- retry 决策与 backoff 计算
- Retry、Abort 与 turn 结账
- retry-started 事件
- Retry、Abort 与 turn 结账
- Round increment via user/message
- Phase、Revision、Round——三道演化闸门
- route atomic replacement
- LLM Service、流式 chunk 与 BlockAssembler
- runGroup: exclusive 形成 barrier, parallel 进入滚动池
- 工具调度器与注册域
- runScheduleTransaction serializes per-agent operations
- Plan、Todo、Schedule——Goal 的三个邻居
- runtime-closure verification
- Invariant:每个包都有自己的守卫
- sameIdentity
- Telemetry 不能反过来定义会话
- sandbox chain selection
- 安全分层:Trust、Permission、Sandbox、Network
- scanRoot检查COMPOSITION_FILE和YAML健康
- Agent Preset:给单个会话换一套运行时
- schedule_create validates rule and appends schedule/change
- Plan、Todo、Schedule——Goal 的三个邻居
- ScheduleRuntime.driveOnce() folds and dispatches due reminders
- Plan、Todo、Schedule——Goal 的三个邻居
- schema-declared secret walk
- 凭证隔离、Telemetry 与 Mock 测试
- SDK initialize handshake
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- SDK notification subscription
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- SDK spawns runtime subprocess
- TypeScript 和 Python SDK 共享一套协议
- SDK subprocess spawn
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- sections name-merge 去重
- System Prompt 四层组装
- sections order 排序
- System Prompt 四层组装
- seq assignment
- Event Envelope:每个事件必须带的身份证
- server constructor subscribe events
- JSON-RPC Server:长期进程的暴露方式
- server getOrCreateSession
- Headless CLI 与 JSON-RPC Server——两种产品面
- server initialize handshake
- Headless CLI 与 JSON-RPC Server——两种产品面
- server prompt delivery
- Headless CLI 与 JSON-RPC Server——两种产品面
- server shutdown + dispose
- Headless CLI 与 JSON-RPC Server——两种产品面
- Service 构造 → provide → notify consumers
- Capability Seam 与 cordis.yml 组合
- session header记录agentPreset
- Agent Preset:给单个会话换一套运行时
- session log harvest
- Mock LLM 和 Snapshot 测试
- session-start disarm
- Goal 为什么是事件流而不是字段
- session.append assistant/chunk (durable-first)
- 流式响应:chunk 怎样变成消息
- session.append assistant/message with sourceEventSeqs
- 流式响应:chunk 怎样变成消息
- session.create vs lazy session creation
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- Session.fromRestore validate+freeze
- Resume、Fork、Compaction——上下文改写术
- session/end-seed append
- Resume、Fork、Compaction——上下文改写术
- SessionPreparation.create wrap
- Resume、Fork、Compaction——上下文改写术
- sessions.flush
- Headless CLI 与 JSON-RPC Server——两种产品面
- settlement delivery
- Subagent 出生与 lineage 管理
- ShellExecutor resolve and run
- Bash、Subprocess 和 PTY:各管哪段生命周期
- shutdown drain deadline
- 凭证隔离、Telemetry 与 Mock 测试
- shutdown EOF→SIGTERM→SIGKILL
- TypeScript 和 Python SDK 共享一套协议
- shutdown ladder
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- snapshot invalidation
- append-only Session 与 Event 信封
- snapshotJsonValue
- append-only Session 与 Event 信封
- spillNotice 拼接定位器
- 结果太大了:Spill、截断和外溢
- spillReplacement 调用 SpillStore.saveText
- 结果太大了:Spill、截断和外溢
- splice append-first then memory update
- Inbox 双队列:消息不是直接进模型的
- step/start deferred
- turn/start 之前:谁有权开始新一轮
- SubprocessRuntime spawn and terminate
- Bash、Subprocess 和 PTY:各管哪段生命周期
- summarize + exit
- Headless CLI 与 JSON-RPC Server——两种产品面
- surface eligibility
- Event Envelope:每个事件必须带的身份证
- surface eligibility check
- Surface 投影:模型看到的历史不等于你看到的
- surface fold
- 历史从事件日志重建,不是从聊天界面
- surface validation
- Resume、Fork、Compaction——上下文改写术
- surfaceManager.validateNext
- append-only Session 与 Event 信封
- surfaceManager.validateNext seed loop
- Resume、Fork、Compaction——上下文改写术
- Symbol.dispose rollback
- Agent、Session 和那个共用的身份证
- sync incremental
- Goal 为什么是事件流而不是字段
- telemetry coordinator adopt
- 凭证隔离、Telemetry 与 Mock 测试
- text-delta/reasoning-delta/tool-call-delta accumulates
- 流式响应:chunk 怎样变成消息
- todo_write appends todo/write snapshot
- Plan、Todo、Schedule——Goal 的三个邻居
- tool call → execute closure → rawName on wire
- MCP 工具注册与 Repository Plugin
- tool call drain
- Retry、Abort 与 turn 结账
- tool-bash validate and dispatch
- Bash、Subprocess 和 PTY:各管哪段生命周期
- tools 收集与 orderTools
- System Prompt 四层组装
- tools/code-dispatch-log arm 同逻辑处理日志
- 结果太大了:Spill、截断和外溢
- tools/post-execute hook 注册(prepend:true)
- 结果太大了:Spill、截断和外溢
- traceEvent lineage
- Trajectory、Query 和 Replay
- transport onRequest dispatch
- Headless CLI 与 JSON-RPC Server——两种产品面
- turn open
- turn/start 之前:谁有权开始新一轮
- turn/end 结账写入
- Retry、Abort 与 turn 结账
- turn/end in finally block
- Inbox 双队列:消息不是直接进模型的
- turn/start at phase begin
- Inbox 双队列:消息不是直接进模型的
- turn/start resets todos projection to null
- Plan、Todo、Schedule——Goal 的三个邻居
- type narrowing
- Event Envelope:每个事件必须带的身份证
- UNLOADING
- Cordis:不是依赖注入,是生命周期状态机
- usage records token stats
- 流式响应:chunk 怎样变成消息
- user/message deferred
- turn/start 之前:谁有权开始新一轮
- variables 从远到近收集
- System Prompt 四层组装
- versioned writes
- Telemetry 不能反过来定义会话
- wake classification
- turn/start 之前:谁有权开始新一轮
- wakeDriver creates running phase
- Inbox 双队列:消息不是直接进模型的
- watchUserPatches监听文件变化
- cordis.yml 怎样声明可替换的组合
- waterfall 分发
- System Prompt 四层组装
- waterfall dispatch
- LLM Service、流式 chunk 与 BlockAssembler
- web per-conversation
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- Web RPC to Host
- 为什么 Web 新建会话不是 CLI 的前端按钮
- WebSocket mux 流建立
- Conversation UI:消费事件但不冒充事实源
- withoutInitiator 脱离归属
- 收束:Cancel、Dispose 和多 Agent 清理
- workspace打开→cwd确定project root→skill-filesystem扫描.dsh/skills
- Repository Plugin 和 Self-modification
- yield detach→announce
- Agent、Session 和那个共用的身份证
- AbortController
- Retry、Abort 与 turn 结账
- AbstractApiClient
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- AcpSnapshotHarness
- Mock LLM 和 Snapshot 测试
- activityDone
- turn/start 之前:谁有权开始新一轮
- AdapterRegistrationHandle
- LLM Service、流式 chunk 与 BlockAssembler
- adapterStream
- LLM Service、流式 chunk 与 BlockAssembler
- admitWaking
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- agent.followup
- Headless CLI 与 JSON-RPC Server——两种产品面
- agent.whenIdle
- Headless CLI 与 JSON-RPC Server——两种产品面
- AgentLoop.create
- Agent、Session 和那个共用的身份证
- AgentLoop.createAgent
- Agent、Session 和那个共用的身份证
- AgentPreset interface
- Agent Preset:给单个会话换一套运行时
- AgentPresets
- Agent Preset:给单个会话换一套运行时
- AgentRegistry
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- AgentRegistry.create
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- AgentRegistry.enter
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- AgentRegistry.register
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- AgentRegistry.store
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- allowParallelInProgress
- Plan、Todo、Schedule——Goal 的三个邻居
- ApiProxy
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- appendSkippedToolCall
- Retry、Abort 与 turn 结账并行工具调用:顺序和屏障
- applyEntryPatches
- cordis.yml 怎样声明可替换的组合
- applyGoalChange
- Goal 为什么是事件流而不是字段
- applyGoalEvent
- Goal 为什么是事件流而不是字段
- applyGoalProjection
- 投影(Projection):同一份日志长出不同状态Goal 为什么是事件流而不是字段
- ApprovalService
- 安全分层:Trust、Permission、Sandbox、Network
- approveEscalation
- 安全分层:Trust、Permission、Sandbox、Network
- AppWebEntry
- 为什么 Web 新建会话不是 CLI 的前端按钮
- assemble
- System Prompt 四层组装
- assertEntriesActivated
- 从敲下 dsh 到补丁栈组装完成
- assertToolResultRewrite
- Resume、Fork、Compaction——上下文改写术
- assistant/chunk
- 流式响应:chunk 怎样变成消息
- assistant/message
- 流式响应:chunk 怎样变成消息
- backoff
- Retry、Abort 与 turn 结账
- bindScopeParent
- Agent Preset:给单个会话换一套运行时
- BlockAssembler
- LLM Service、流式 chunk 与 BlockAssembler流式响应:chunk 怎样变成消息
- BlockAssembler.blocks
- 流式响应:chunk 怎样变成消息
- BlockAssembler.finish
- 流式响应:chunk 怎样变成消息
- BlockAssembler.push
- 流式响应:chunk 怎样变成消息
- BlockAssembler.replayState
- 流式响应:chunk 怎样变成消息
- BlockAssembler.usage
- 流式响应:chunk 怎样变成消息
- blockedReason
- Phase、Revision、Round——三道演化闸门
- boot
- 从敲下 dsh 到补丁栈组装完成
- callConfigEquals
- LLM Service、流式 chunk 与 BlockAssembler
- cancellableDelay
- Retry、Abort 与 turn 结账
- chunkSeqs
- 流式响应:chunk 怎样变成消息
- closeInitiators
- 收束:Cancel、Dispose 和多 Agent 清理
- coldResume
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- commitReady
- 并行工具调用:顺序和屏障
- compactIfNeeded
- Resume、Fork、Compaction——上下文改写术
- compaction/end
- Resume、Fork、Compaction——上下文改写术
- compaction/start
- Resume、Fork、Compaction——上下文改写术
- CompactionEngine
- Resume、Fork、Compaction——上下文改写术
- compactNow
- Resume、Fork、Compaction——上下文改写术
- compactRegion
- Resume、Fork、Compaction——上下文改写术
- composeFrom method
- Agent Preset:给单个会话换一套运行时
- composeLive
- cordis.yml 怎样声明可替换的组合
- composeProfile
- 从敲下 dsh 到补丁栈组装完成cordis.yml 怎样声明可替换的组合
- COMPOSITION_FILE
- Agent Preset:给单个会话换一套运行时
- compositionStamp
- Repository Plugin 和 Self-modification
- CompositionStamp interface
- Agent Preset:给单个会话换一套运行时
- CONFIGURED_AGENT_IDENTITIES_KEY
- Agent、Session 和那个共用的身份证
- CONTEXT_WINDOW_EXCEEDED_CODE
- Retry、Abort 与 turn 结账
- Context.extend
- Cordis:不是依赖注入,是生命周期状态机
- Context.isolate
- Cordis:不是依赖注入,是生命周期状态机
- ConversationNodeAssembler
- Conversation UI:消费事件但不冒充事实源
- ConversationSnapshot
- Conversation UI:消费事件但不冒充事实源
- copyComposition function
- Agent Preset:给单个会话换一套运行时
- Cordis companion
- Invariant:每个包都有自己的守卫
- cordis_define/cordis_run/cordis_stop/cordis_undefine
- Repository Plugin 和 Self-modification
- cordis.yml
- Capability Seam 与 cordis.yml 组合
- createApiProxy
- 为什么 Web 新建会话不是 CLI 的前端按钮
- createAssistantMessage
- 流式响应:chunk 怎样变成消息
- createProcessShutdown
- 从敲下 dsh 到补丁栈组装完成
- createRunCodeTool drive
- 并行工具调用:顺序和屏障
- ctx.dynamicCordisRunner
- Repository Plugin 和 Self-modification
- decodeGoalChange
- Goal 为什么是事件流而不是字段
- DeepSeekHarness
- TypeScript 和 Python SDK 共享一套协议ApiProxy 与 SDK:Web 的控制面和客户端协议
- DEFAULT_MAX_PARALLEL_TOOL_CALLS
- 工具调度器与注册域工具参数校验与并行执行池
- defineTool
- 工具参数校验与并行执行池
- delegationDepth
- Resume、Fork、Compaction——上下文改写术
- deliverReport
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- deriveEventMessage
- 历史从事件日志重建,不是从聊天界面Surface 投影:模型看到的历史不等于你看到的Conversation UI:消费事件但不冒充事实源
- deriveMessages
- Surface 投影:模型看到的历史不等于你看到的
- discoverPresets function
- Agent Preset:给单个会话换一套运行时
- dispose (memoized)
- 收束:Cancel、Dispose 和多 Agent 清理
- disposeInitiators
- 收束:Cancel、Dispose 和多 Agent 清理
- disposeRuntimeProcess
- TypeScript 和 Python SDK 共享一套协议
- doc-sync
- 从一个 commit 到下一版:这本书怎样更新
- docSyncLeafGates
- 从一个 commit 到下一版:这本书怎样更新
- drainDescendants
- 收束:Cancel、Dispose 和多 Agent 清理
- dsh-web-app bundle
- 为什么 Web 新建会话不是 CLI 的前端按钮
- dueDecision
- Plan、Todo、Schedule——Goal 的三个邻居
- DynamicCordisRunnerService
- Repository Plugin 和 Self-modification
- effect disposer LIFO
- Repository Plugin 和 Self-modification
- ensureSession
- 为什么 Web 新建会话不是 CLI 的前端按钮
- ensureStanding method
- Agent Preset:给单个会话换一套运行时
- ensureTargetDurable
- Telemetry 不能反过来定义会话
- EntryGroup
- cordis.yml 怎样声明可替换的组合
- EntryOptions
- cordis.yml 怎样声明可替换的组合
- errorChain
- Retry、Abort 与 turn 结账
- exclusiveActive
- 并行工具调用:顺序和屏障
- executeToolCalls
- Retry、Abort 与 turn 结账工具调度器与注册域工具参数校验与并行执行池
- executionMode
- 工具调度器与注册域工具参数校验与并行执行池并行工具调用:顺序和屏障
- EXIT_PLAN_MODE
- Plan、Todo、Schedule——Goal 的三个邻居
- FactoryOwnership
- 收束:Cancel、Dispose 和多 Agent 清理
- Fiber._refresh
- Cordis:不是依赖注入,是生命周期状态机
- Fiber._reload
- Cordis:不是依赖注入,是生命周期状态机
- Fiber._unload
- Cordis:不是依赖注入,是生命周期状态机
- Fiber.dispose
- Repository Plugin 和 Self-modification
- Fiber.effect
- Cordis:不是依赖注入,是生命周期状态机
- Fiber.restart
- Repository Plugin 和 Self-modification
- FileSystemSkillProvider.roots
- Repository Plugin 和 Self-modification
- fillPool
- 工具参数校验与并行执行池并行工具调用:顺序和屏障
- FinishReason
- 流式响应:chunk 怎样变成消息
- firstLiveSeq
- Resume、Fork、Compaction——上下文改写术
- flattenPlainText()
- 结果太大了:Spill、截断和外溢
- flushFinalState
- 收束:Cancel、Dispose 和多 Agent 清理
- flushSchedulePersistence
- Plan、Todo、Schedule——Goal 的三个邻居
- foldGoal
- Goal 为什么是事件流而不是字段
- foldPlanMode
- Plan、Todo、Schedule——Goal 的三个邻居
- foldScheduleEvents
- Plan、Todo、Schedule——Goal 的三个邻居
- freezeRestoredObject
- Resume、Fork、Compaction——上下文改写术
- fuseToolSignals
- 工具调度器与注册域
- gen-persistence-catalog
- Invariant:每个包都有自己的守卫
- getOrCreateSession
- Headless CLI 与 JSON-RPC Server——两种产品面
- GOAL_CHANGE_VERSION
- Goal 为什么是事件流而不是字段
- GoalActivation
- Goal 为什么是事件流而不是字段Phase、Revision、Round——三道演化闸门
- GoalChangeMeta
- Goal 为什么是事件流而不是字段
- goalChangeRef
- Goal 为什么是事件流而不是字段
- GoalClearChangeMeta
- Goal 为什么是事件流而不是字段
- GoalFoldState
- Goal 为什么是事件流而不是字段
- GoalOperation
- Goal 为什么是事件流而不是字段
- GoalProjection
- Goal 为什么是事件流而不是字段
- GoalRef
- Goal 为什么是事件流而不是字段
- GoalSnapshot
- Goal 为什么是事件流而不是字段
- GoalSnapshotChangeMeta
- Goal 为什么是事件流而不是字段
- goalSource
- Phase、Revision、Round——三道演化闸门
- handleRequest
- Headless CLI 与 JSON-RPC Server——两种产品面
- HarnessSdkJsonRpcServer
- Headless CLI 与 JSON-RPC Server——两种产品面JSON-RPC Server:长期进程的暴露方式ApiProxy 与 SDK:Web 的控制面和客户端协议
- HarnessSdkNotificationMap
- JSON-RPC Server:长期进程的暴露方式
- HarnessSdkRequestMap
- JSON-RPC Server:长期进程的暴露方式
- HarnessSession
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- headerFoldSeq
- 投影(Projection):同一份日志长出不同状态
- HEADLESS_STARTUP_SERVICE
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路Headless CLI 与 JSON-RPC Server——两种产品面
- headless-runner
- Headless CLI 与 JSON-RPC Server——两种产品面
- headless-startup
- Headless CLI 与 JSON-RPC Server——两种产品面
- HttpFetchProvider
- 安全分层:Trust、Permission、Sandbox、Network
- ifVersion
- Telemetry 不能反过来定义会话
- ignorable
- Event Envelope:每个事件必须带的身份证
- inactiveRows function
- Agent Preset:给单个会话换一套运行时
- Inbox.claim
- Inbox 双队列:消息不是直接进模型的
- Inbox.splice
- Inbox 双队列:消息不是直接进模型的
- InitiatorScope
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- InProcessApiClient
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- InputStep
- Mock LLM 和 Snapshot 测试
- installFailLoud
- 从敲下 dsh 到补丁栈组装完成
- interpolate
- System Prompt 四层组装
- isAppendSurfaceEvent
- Surface 投影:模型看到的历史不等于你看到的Conversation UI:消费事件但不冒充事实源
- isConcurrencySafe
- 工具调度器与注册域工具注册和作用域:谁能看到什么工具工具参数校验与并行执行池
- isReplacementSurfaceEvent
- Surface 投影:模型看到的历史不等于你看到的
- isSurfaceEligibleType
- 历史从事件日志重建,不是从聊天界面Surface 投影:模型看到的历史不等于你看到的
- isSurfaceEvent
- 历史从事件日志重建,不是从聊天界面Surface 投影:模型看到的历史不等于你看到的
- JsonRpcLineTransport
- Headless CLI 与 JSON-RPC Server——两种产品面TypeScript 和 Python SDK 共享一套协议ApiProxy 与 SDK:Web 的控制面和客户端协议
- JsonRpcTransportPeer
- JSON-RPC Server:长期进程的暴露方式
- keepInbox
- 收束:Cancel、Dispose 和多 Agent 清理
- KNOWN_SESSION_EVENT_TYPES
- append-only Session 与 Event 信封
- lastVerified
- 从一个 commit 到下一版:这本书怎样更新
- leakedServices function
- Agent Preset:给单个会话换一套运行时
- llm-replay
- Trajectory、Query 和 Replay
- llm-retry apply
- Retry、Abort 与 turn 结账
- LlmAdapter
- LLM Service、流式 chunk 与 BlockAssembler
- LlmError
- Retry、Abort 与 turn 结账
- LLMMockServer
- Mock LLM 和 Snapshot 测试
- LlmRuntime
- LLM Service、流式 chunk 与 BlockAssembler
- loadLayeredEnv
- 从敲下 dsh 到补丁栈组装完成
- localDelay
- Retry、Abort 与 turn 结账
- LocalSandboxProvider
- 安全分层:Trust、Permission、Sandbox、Network
- LocalSpillStore
- 结果太大了:Spill、截断和外溢
- markAgentLoopRequest
- LLM Service、流式 chunk 与 BlockAssembler
- maxGoalRounds
- Phase、Revision、Round——三道演化闸门
- maxParallelToolCalls
- 工具调度器与注册域工具参数校验与并行执行池
- McpClientBridge
- MCP 工具注册与 Repository Plugin
- MessageFeedback
- Telemetry 不能反过来定义会话
- METADATA_FILE
- Agent Preset:给单个会话换一套运行时
- mount method
- Agent Preset:给单个会话换一套运行时
- mountPreset function
- Agent Preset:给单个会话换一套运行时
- mountRootInclude
- 从敲下 dsh 到补丁栈组装完成
- MuxFrame
- Conversation UI:消费事件但不冒充事实源
- nextMutationTime
- Goal 为什么是事件流而不是字段
- NotificationSubscription
- TypeScript 和 Python SDK 共享一套协议ApiProxy 与 SDK:Web 的控制面和客户端协议
- Object.is
- 投影(Projection):同一份日志长出不同状态
- OPEN_TURN
- Resume、Fork、Compaction——上下文改写术
- orderTools
- System Prompt 四层组装
- package invariants
- Mock LLM 和 Snapshot 测试
- package-invariants
- Invariant:每个包都有自己的守卫
- parameterSchemaSpecToJsonSchema
- 工具参数校验与并行执行池
- parentSession
- Resume、Fork、Compaction——上下文改写术
- parseDshArgs
- 从敲下 dsh 到补丁栈组装完成
- PartialBlock
- 流式响应:chunk 怎样变成消息
- PatchOptions
- cordis.yml 怎样声明可替换的组合
- PERSONA_ORDER
- System Prompt 四层组装
- PERSONA_SECTION
- System Prompt 四层组装
- phase: idle | maintenance | running
- Inbox 双队列:消息不是直接进模型的
- PlanModeController
- Plan、Todo、Schedule——Goal 的三个邻居
- PostToolDecision
- 工具调度器与注册域
- prepareCall
- LLM Service、流式 chunk 与 BlockAssembler
- PreparedLlmCall
- LLM Service、流式 chunk 与 BlockAssembler
- prepareProfile
- 从敲下 dsh 到补丁栈组装完成cordis.yml 怎样声明可替换的组合
- PRESET_ID regex
- Agent Preset:给单个会话换一套运行时
- PresetMountError
- Agent Preset:给单个会话换一套运行时
- PresetRoot interface
- Agent Preset:给单个会话换一套运行时
- PresetTree class
- Agent Preset:给单个会话换一套运行时
- PresetTrust type
- Agent Preset:给单个会话换一套运行时
- preStep
- turn/start 之前:谁有权开始新一轮
- PreStepDecision
- turn/start 之前:谁有权开始新一轮
- PreToolDecision
- 工具调度器与注册域
- preview() TextRetainer
- 结果太大了:Spill、截断和外溢
- PROFILE_ROOT_CONFIG
- cordis.yml 怎样声明可替换的组合
- ProjectionValueStore
- Conversation UI:消费事件但不冒充事实源
- PromptAssembly
- System Prompt 四层组装
- PromptContext
- System Prompt 四层组装
- PromptLayer
- System Prompt 四层组装
- PromptSection
- System Prompt 四层组装
- publicToolName
- MCP 工具注册与 Repository Plugin
- ReactLoopAgent
- turn/start 之前:谁有权开始新一轮
- ReactLoopAgent.followup
- Inbox 双队列:消息不是直接进模型的
- ReactLoopAgent.inject
- Inbox 双队列:消息不是直接进模型的
- ReactLoopAgent.preStep
- Inbox 双队列:消息不是直接进模型的
- ReactLoopAgent.send
- Inbox 双队列:消息不是直接进模型的
- ReactLoopAgent.steer
- Inbox 双队列:消息不是直接进模型的
- ReactLoopAgent.wakeDriver
- Inbox 双队列:消息不是直接进模型的
- recompose method
- Agent Preset:给单个会话换一套运行时
- reflect.notify
- Cordis:不是依赖注入,是生命周期状态机
- reflect.provide
- Cordis:不是依赖注入,是生命周期状态机
- ReflectService.handler
- Cordis:不是依赖注入,是生命周期状态机
- registerAdapter
- LLM Service、流式 chunk 与 BlockAssembler
- registerScheduleTools
- Plan、Todo、Schedule——Goal 的三个邻居
- renderContextSnapshot
- System Prompt 四层组装
- renderPrompt
- System Prompt 四层组装
- replaceGeneration
- Surface 投影:模型看到的历史不等于你看到的Resume、Fork、Compaction——上下文改写术
- reportFrom
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- requestContext
- 投影(Projection):同一份日志长出不同状态
- requestHeader
- 投影(Projection):同一份日志长出不同状态
- requireNextRevision
- Phase、Revision、Round——三道演化闸门
- resolveSessionPreset function
- Agent Preset:给单个会话换一套运行时
- retryPolicyKey
- Retry、Abort 与 turn 结账
- roundsStarted
- Phase、Revision、Round——三道演化闸门
- RpcMethodMap
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- RUN_CODE_NAME
- 工具注册和作用域:谁能看到什么工具
- run-gates
- 从一个 commit 到下一版:这本书怎样更新
- runGroup
- 工具参数校验与并行执行池并行工具调用:顺序和屏障
- RuntimeContextProjection
- 投影(Projection):同一份日志长出不同状态
- sameIdentity
- Telemetry 不能反过来定义会话
- SandboxPolicyService
- 安全分层:Trust、Permission、Sandbox、Network
- SandboxProvider
- 安全分层:Trust、Permission、Sandbox、Network
- SandboxUnavailableError
- 安全分层:Trust、Permission、Sandbox、Network
- SaveTextSpill / SpillRef / SpillLocator
- 结果太大了:Spill、截断和外溢
- scanRoot function
- Agent Preset:给单个会话换一套运行时
- ScheduledToolDispatch
- 工具调度器与注册域
- ScheduledToolPreparation
- 工具调度器与注册域
- ScheduleId
- Plan、Todo、Schedule——Goal 的三个邻居
- ScheduleRuntime
- Plan、Todo、Schedule——Goal 的三个邻居
- ScopedLayers
- System Prompt 四层组装工具注册和作用域:谁能看到什么工具
- ScopeParentBinding
- Agent Preset:给单个会话换一套运行时
- seedLength
- Resume、Fork、Compaction——上下文改写术
- seenGoalIds
- Goal 为什么是事件流而不是字段
- sendWaking
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- Service.invoke
- Cordis:不是依赖注入,是生命周期状态机
- Session.append
- append-only Session 与 Event 信封
- Session.create
- Agent、Session 和那个共用的身份证Trajectory、Query 和 Replay
- Session.fromRestore
- Resume、Fork、Compaction——上下文改写术
- Session.projections
- Conversation UI:消费事件但不冒充事实源
- session/end-seed
- Resume、Fork、Compaction——上下文改写术
- sessionCreations Map
- JSON-RPC Server:长期进程的暴露方式
- SessionEventMap
- append-only Session 与 Event 信封Event Envelope:每个事件必须带的身份证
- SessionForkError
- Resume、Fork、Compaction——上下文改写术
- SessionManager
- 为什么 Web 新建会话不是 CLI 的前端按钮Conversation UI:消费事件但不冒充事实源
- SessionPreparation
- Agent、Session 和那个共用的身份证Resume、Fork、Compaction——上下文改写术
- SessionPreparation.create
- Resume、Fork、Compaction——上下文改写术
- SessionQueryEngine
- Trajectory、Query 和 Replay
- sessions Map
- JSON-RPC Server:长期进程的暴露方式
- sessions.create RPC
- 为什么 Web 新建会话不是 CLI 的前端按钮
- sessions.flush
- Headless CLI 与 JSON-RPC Server——两种产品面
- SessionStore._forkSeed
- Resume、Fork、Compaction——上下文改写术
- SessionStore.announce
- Agent、Session 和那个共用的身份证
- SessionStore.enter
- Agent、Session 和那个共用的身份证
- SessionStore.fork
- Resume、Fork、Compaction——上下文改写术
- SessionStore.prepare
- Agent、Session 和那个共用的身份证
- SessionSurface
- 历史从事件日志重建,不是从聊天界面
- setPhase
- turn/start 之前:谁有权开始新一轮
- settlementSummary
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- shadowedSeqs
- Surface 投影:模型看到的历史不等于你看到的
- skill-filesystem project-dsh rank
- Repository Plugin 和 Self-modification
- snapshotJsonValue
- append-only Session 与 Event 信封
- sourceEventSeqs
- 历史从事件日志重建,不是从聊天界面流式响应:chunk 怎样变成消息Event Envelope:每个事件必须带的身份证Surface 投影:模型看到的历史不等于你看到的Resume、Fork、Compaction——上下文改写术
- sourceVersion
- 从一个 commit 到下一版:这本书怎样更新
- spill-policy apply()
- 结果太大了:Spill、截断和外溢
- spillNotice() describeOmitted
- 结果太大了:Spill、截断和外溢
- spillReplacement()
- 结果太大了:Spill、截断和外溢
- SpillStore.saveText
- 结果太大了:Spill、截断和外溢
- StandingMount
- Repository Plugin 和 Self-modification
- StandingMount interface
- Agent Preset:给单个会话换一套运行时
- standingMountFor function
- Agent Preset:给单个会话换一套运行时
- streamWithRegistration
- LLM Service、流式 chunk 与 BlockAssembler
- SubagentReportDelivery
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- SubagentReportMessageSource
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- SubagentSettledMessageSource
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- subscribeSessionTree
- TypeScript 和 Python SDK 共享一套协议
- SURFACE_EVENT_TYPES
- Surface 投影:模型看到的历史不等于你看到的
- SurfaceEvent
- Surface 投影:模型看到的历史不等于你看到的
- SurfaceFoldReplacement
- Surface 投影:模型看到的历史不等于你看到的
- SurfaceIntent
- append-only Session 与 Event 信封
- SurfaceManager
- 历史从事件日志重建,不是从聊天界面append-only Session 与 Event 信封Surface 投影:模型看到的历史不等于你看到的Resume、Fork、Compaction——上下文改写术
- surfaceOp
- 历史从事件日志重建,不是从聊天界面流式响应:chunk 怎样变成消息
- surfaceOp replace
- Resume、Fork、Compaction——上下文改写术
- syncTools
- MCP 工具注册与 Repository Plugin
- SystemPrompt
- System Prompt 四层组装
- toAssistantBlock
- Conversation UI:消费事件但不冒充事实源
- todo_write
- Plan、Todo、Schedule——Goal 的三个邻居
- toFetchHandler
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- TOOL_ABORTED_BEFORE_DISPATCH
- Retry、Abort 与 turn 结账
- TOOL_ORDER_REST
- System Prompt 四层组装
- TOOL_RUNTIME_SCHEDULER
- 工具调度器与注册域
- tool-cordis
- MCP 工具注册与 Repository Plugin
- ToolArgsError
- 工具参数校验与并行执行池
- ToolCallView
- Conversation UI:消费事件但不冒充事实源
- ToolDefinition
- 工具调度器与注册域
- ToolExecution
- 工具调度器与注册域
- ToolExecutionInput
- 工具调度器与注册域
- ToolExecutionMode
- 工具调度器与注册域
- ToolGuard
- 工具调度器与注册域
- ToolLayer
- 工具调度器与注册域
- toolPairingBalancedAfter
- Resume、Fork、Compaction——上下文改写术
- toolPairingBalancedBefore
- Resume、Fork、Compaction——上下文改写术
- ToolPresentationMode
- 工具调度器与注册域
- ToolRestriction
- 工具调度器与注册域
- ToolResultView
- Conversation UI:消费事件但不冒充事实源
- ToolRunContext
- 工具调度器与注册域
- ToolRuntime
- 工具调度器与注册域
- ToolRuntime.register
- 工具注册和作用域:谁能看到什么工具
- ToolRuntime.restrict
- 工具注册和作用域:谁能看到什么工具
- ToolRuntime.view
- 工具注册和作用域:谁能看到什么工具
- ToolRuntimeScheduler
- 工具调度器与注册域
- tools/code-dispatch-log waterfall
- 结果太大了:Spill、截断和外溢
- tools/post-execute waterfall
- 结果太大了:Spill、截断和外溢
- toTodoList
- Plan、Todo、Schedule——Goal 的三个邻居
- traceEvent
- Trajectory、Query 和 Replay
- turnEnds
- Retry、Abort 与 turn 结账
- undefine
- MCP 工具注册与 Repository Plugin
- UnknownPresetError
- Agent Preset:给单个会话换一套运行时
- UseProjection
- Conversation UI:消费事件但不冒充事实源
- validateArgs
- 工具参数校验与并行执行池
- validateFetchUrl
- 安全分层:Trust、Permission、Sandbox、Network
- validateJsonSchemaValue
- 工具参数校验与并行执行池
- validateRestoredSessionHeader
- Resume、Fork、Compaction——上下文改写术
- validateSnapshotTransition
- Phase、Revision、Round——三道演化闸门
- verifiedCommit
- 从一个 commit 到下一版:这本书怎样更新
- verify-cordis-catalog
- 从一个 commit 到下一版:这本书怎样更新
- verify-doc-refs
- 从一个 commit 到下一版:这本书怎样更新
- verify-md-links
- 从一个 commit 到下一版:这本书怎样更新
- verify-runtime-closure
- Invariant:每个包都有自己的守卫
- verify-type-equiv
- 从一个 commit 到下一版:这本书怎样更新
- wakeDriver
- turn/start 之前:谁有权开始新一轮
- watchSettlement
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- watchUserPatches
- cordis.yml 怎样声明可替换的组合
- WEB_STARTUP_SERVICE
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- whenIdle
- 收束:Cancel、Dispose 和多 Agent 清理
- 比较bwrap与Landlock的denialSignatures差异
- 安全分层:Trust、Permission、Sandbox、Network
- 不声明 inject 直接访问服务触发错误
- Cordis:不是依赖注入,是生命周期状态机
- 测试tool/result替换只改content约束
- Surface 投影:模型看到的历史不等于你看到的
- 查看 AgentRegistry.store 的 Map 键类型
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- 查看 nextMutationTime 时钟保护
- Goal 为什么是事件流而不是字段
- 查看 schedule 三种规则的 domain 校验
- Plan、Todo、Schedule——Goal 的三个邻居
- 查看 surface 投影
- append-only Session 与 Event 信封
- 查看22种LLM预设行为
- Mock LLM 和 Snapshot 测试
- 查看三类 surface-eligible 事件
- 历史从事件日志重建,不是从聊天界面
- 查看三态定义
- turn/start 之前:谁有权开始新一轮
- 查看生成的catalog文档
- Invariant:每个包都有自己的守卫
- 查看ignorable默认行为
- Event Envelope:每个事件必须带的身份证
- 查看Round推进逻辑
- Phase、Revision、Round——三道演化闸门
- 查看surface replace操作如何splice nodes
- Resume、Fork、Compaction——上下文改写术
- 触发 abort-then-send 看 wakingAfterAbort
- Inbox 双队列:消息不是直接进模型的
- 触发 ignorable 路径
- append-only Session 与 Event 信封
- 触发 straggler delta 被忽略的场景
- 流式响应:chunk 怎样变成消息
- 触发SandboxUnavailableError观察fail-closed
- 安全分层:Trust、Permission、Sandbox、Network
- 读 bin.ts 确认只有53行
- 从敲下 dsh 到补丁栈组装完成
- 读 cordis.yml 观察声明式组合结构
- Capability Seam 与 cordis.yml 组合
- 断网重连后从 assistant/chunk 事件 replay 重建消息
- 流式响应:chunk 怎样变成消息
- 对比 headless 和 web 的 bundle 列表
- 为什么 Web 新建会话不是 CLI 的前端按钮
- 对比 headless bundle patch 和 sdk-jsonrpc-server 插件的 inject 列表
- Headless CLI 与 JSON-RPC Server——两种产品面
- 对比 RpcMethodMap 的 40+ 方法与 SDK 的 3 个方法
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- 对比 schedule dispatch framing 防注入
- Plan、Todo、Schedule——Goal 的三个邻居
- 对比 server 和 headless 的生命周期差异
- JSON-RPC Server:长期进程的暴露方式
- 对比 TS client.ts 和 Python client.py 的对应方法
- TypeScript 和 Python SDK 共享一套协议
- 对比 wakeup/quiet 模式消息路径
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- 对比 web-startup 的 host/port 解析
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- 对比有无 finish chunk 时 finish getter 返回值
- 流式响应:chunk 怎样变成消息
- 对比deriveMessages与from-scratch replay一致性
- Surface 投影:模型看到的历史不等于你看到的
- 对比pause和block区别
- Phase、Revision、Round——三道演化闸门
- 对比resume test中seed→end-seed→firstLiveSeq
- Resume、Fork、Compaction——上下文改写术
- 构造 abort 时已启动 tool call 的 drain 流程
- Retry、Abort 与 turn 结账
- 故意引用未注册 variable 触发 strict 报错
- System Prompt 四层组装
- 观察 assistant/chunk 事件序列号与 sourceEventSeqs 的关系
- LLM Service、流式 chunk 与 BlockAssembler
- 观察 foldSurface replace 逻辑
- 历史从事件日志重建,不是从聊天界面
- 观察 head+tail 50/50 分割字节分配
- 结果太大了:Spill、截断和外溢
- 观察 isConcurrencySafe 抛错时返回 exclusive
- 工具注册和作用域:谁能看到什么工具
- 观察 max-tokens 时 blocks() 过滤 tool-call
- 流式响应:chunk 怎样变成消息
- 观察 max-tokens 粘滞逻辑在多 step 场景下的状态变迁
- Retry、Abort 与 turn 结账
- 观察 MCP 工具注册后的命名空间前缀
- MCP 工具注册与 Repository Plugin
- 观察 run_code 子调度和原生调度行为一致
- 并行工具调用:顺序和屏障
- 观察 SSE mux 投影与 SDK session.event 通知的差异
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- 观察 steer 在 running 阶段的行为
- Inbox 双队列:消息不是直接进模型的
- 检查 always 模式下 downstream 决策如何截断无限重试
- Retry、Abort 与 turn 结账
- 检查 sendWaking 里 parentActivation 的 accepted 计数
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- 检查包的invariant.ts存在
- Invariant:每个包都有自己的守卫
- 检查乐观并发UUID
- Telemetry 不能反过来定义会话
- 检查所有 frontmatter commit 一致
- 从一个 commit 到下一版:这本书怎样更新
- 检查invariant companion文件
- Mock LLM 和 Snapshot 测试
- 看 ApiProxy 的 session.create 实现
- 为什么 Web 新建会话不是 CLI 的前端按钮
- 看 apps/web/main.ts 的薄入口
- 为什么 Web 新建会话不是 CLI 的前端按钮
- 看 ConversationNodeAssembler 的 flush 机制
- Conversation UI:消费事件但不冒充事实源
- 看 generator effect 如何回滚
- Agent、Session 和那个共用的身份证
- 看 getOrCreateSession 去重逻辑
- JSON-RPC Server:长期进程的暴露方式
- 看 HarnessSdkJsonRpcServer 构造函数订阅哪些事件
- JSON-RPC Server:长期进程的暴露方式
- 看 HarnessSdkJsonRpcServer.sessions Map 如何跨请求存活
- Headless CLI 与 JSON-RPC Server——两种产品面
- 看 isAppendSurfaceEvent 过滤 append-origin 事件用于人类 transcript
- Conversation UI:消费事件但不冒充事实源
- 看 MuxFrame union 各分支
- Conversation UI:消费事件但不冒充事实源
- 看 performShutdown 的 drain 流程
- JSON-RPC Server:长期进程的暴露方式
- 看 ProjectionValueStore higher-seq-wins 规则实现
- Conversation UI:消费事件但不冒充事实源
- 看 protocol/types.ts 是唯一类型源头
- TypeScript 和 Python SDK 共享一套协议
- 看 SDK 如何 spawn 子进程
- TypeScript 和 Python SDK 共享一套协议
- 看 Session 类的 events 数组和 liveBuffer 关系
- Conversation UI:消费事件但不冒充事实源
- 看 SessionHeader 字段
- Agent、Session 和那个共用的身份证
- 看 subscribeSessionTree 的子 agent 追踪
- TypeScript 和 Python SDK 共享一套协议
- 看 turn/start 和 turn/end 的保证配对
- Inbox 双队列:消息不是直接进模型的
- 看!!js JsExpr schema
- cordis.yml 怎样声明可替换的组合
- 看resolveSessionPreset从events尾部找selected
- Agent Preset:给单个会话换一套运行时
- 看skill-filesystem的findProjectRoot
- Repository Plugin 和 Self-modification
- 模拟broken preset观察PresetMountError
- Agent Preset:给单个会话换一套运行时
- 配置 toolOrder 观察工具在 prompt 中的位置
- System Prompt 四层组装
- 区分surface和log-only事件
- Event Envelope:每个事件必须带的身份证
- 确认 reject 路径不写 step/start
- turn/start 之前:谁有权开始新一轮
- 设置 DSH_TELEMETRY_DISABLED 验证 telemetry patch 注入
- 从敲下 dsh 到补丁栈组装完成
- 设置 maxParallelToolCalls 为 1, 观察退化为串行
- 工具调度器与注册域
- 声明 inject 但依赖未就绪时的 PENDING 状态
- Cordis:不是依赖注入,是生命周期状态机
- 手动触发 ScheduleRuntime.requestDrive
- Plan、Todo、Schedule——Goal 的三个邻居
- 通过 SDK demo 观察 initialize→prompt→shutdown 三阶段握手
- Headless CLI 与 JSON-RPC Server——两种产品面
- 通过 tool-cordis define 动态添加 MCP server
- MCP 工具注册与 Repository Plugin
- 验证 abort 时 started calls drain
- 并行工具调用:顺序和屏障
- 验证 agent.id 等于 agent.session.id
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- 验证 BlockAssembler 在 block-end 后忽略 straggler delta
- LLM Service、流式 chunk 与 BlockAssembler
- 验证 ChildLock Promise 链非毒化特性
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- 验证 claim 的原子性
- Inbox 双队列:消息不是直接进模型的
- 验证 code-dispatch-log arm 对 read 子调用也做 spill
- 结果太大了:Spill、截断和外溢
- 验证 cordis.yml 每次启动后内容被覆写为空数组
- 从敲下 dsh 到补丁栈组装完成
- 验证 delta-only 协议下 ensure 自动创建 partial
- 流式响应:chunk 怎样变成消息
- 验证 disposal memoization:activation.disposal 赋值点在 finishDisposal 之前
- 收束:Cancel、Dispose 和多 Agent 清理
- 验证 every 最小 300 秒被 ScheduleInputError 拒绝
- Plan、Todo、Schedule——Goal 的三个邻居
- 验证 exclusive 工具形成 barrier
- 工具参数校验与并行执行池
- 验证 foldGoal 纯函数输入输出
- Goal 为什么是事件流而不是字段
- 验证 InitiatorScope 的 AsyncLocalStorage 追踪
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- 验证 invalid arguments 在 body 前就抛 ToolArgsError
- 工具参数校验与并行执行池
- 验证 isolate 创建独立服务作用域
- Capability Seam 与 cordis.yml 组合
- 验证 llm/retry 事件在 cancellableDelay 之前 append
- Retry、Abort 与 turn 结账
- 验证 maxParallelToolCalls 限制 inFlight 上限
- 工具参数校验与并行执行池
- 验证 model-order commit 在 parallel dispatch 后恢复
- 工具参数校验与并行执行池
- 验证 post-execute 包含在 exclusive 屏障内
- 并行工具调用:顺序和屏障
- 验证 restrict 只过滤 inherited tools 不过滤 own tools
- 工具注册和作用域:谁能看到什么工具
- 验证 run_code 不能被注册也不能被 restrict
- 工具注册和作用域:谁能看到什么工具
- 验证 seq 连续性
- append-only Session 与 Event 信封
- 验证 SessionPreparation 的 Symbol.dispose
- Agent、Session 和那个共用的身份证
- 验证 shell maybeTruncate 与 spill-policy 独立运行
- 结果太大了:Spill、截断和外溢
- 验证 spill 不替换 canonical value
- 结果太大了:Spill、截断和外溢
- 验证 spill-policy 先 await next() 再检查大小的执行顺序
- 结果太大了:Spill、截断和外溢
- 验证 SpillStore.saveText 失败时保留原文不变
- 结果太大了:Spill、截断和外溢
- 验证 todo_write 整体替换和 turn/start 清空
- Plan、Todo、Schedule——Goal 的三个邻居
- 验证 turn/start 在 preStep 之前
- turn/start 之前:谁有权开始新一轮
- 验证并行组内 exclusive 重分类截断后续
- 工具参数校验与并行执行池
- 验证顶层 read 工具不被模型面 arm 处理
- 结果太大了:Spill、截断和外溢
- 验证空 assistant/message derive null
- 历史从事件日志重建,不是从聊天界面
- 验证连续 parallel 被一个 exclusive 分割成多组
- 并行工具调用:顺序和屏障
- 验证cross-origin redirect被拒绝
- 安全分层:Trust、Permission、Sandbox、Network
- 验证feedback不创建会话
- Telemetry 不能反过来定义会话
- 验证fork拒绝open turn
- Resume、Fork、Compaction——上下文改写术
- 验证goal投影last-wins
- 投影(Projection):同一份日志长出不同状态
- 验证HMR watcher composeLive
- cordis.yml 怎样声明可替换的组合
- 验证HMR不影响已创建session
- Repository Plugin 和 Self-modification
- 验证mount的bindScopeParent scope chain
- Agent Preset:给单个会话换一套运行时
- 验证never策略在service层而非listener层强制
- 安全分层:Trust、Permission、Sandbox、Network
- 验证note明文存储
- Telemetry 不能反过来定义会话
- 验证readSession重放验证
- Trajectory、Query 和 Replay
- 验证replace的start/end范围查找
- Surface 投影:模型看到的历史不等于你看到的
- 验证Revision CAS校验
- Phase、Revision、Round——三道演化闸门
- 依赖上线后 fiber 自动 reload
- Cordis:不是依赖注入,是生命周期状态机
- 用 --dump-config 观察补丁栈叠合结果
- 从敲下 dsh 到补丁栈组装完成
- 用 disabled 字段切换平台实现
- Capability Seam 与 cordis.yml 组合
- 用 InProcessApiClient 测试 ApiProxy 无需网络
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- 用 scope 注册同名 section 验证覆盖
- System Prompt 四层组装
- 用 waterfall listener 追加 section 观察是否被 complete 覆盖
- System Prompt 四层组装
- 用tool-session-query搜索历史
- Trajectory、Query 和 Replay
- 运行 pnpm run doc-sync 验证所有文档 gate
- 从一个 commit 到下一版:这本书怎样更新
- 运行一个record/replay快照测试
- Mock LLM 和 Snapshot 测试
- 运行package-invariants脚本
- Invariant:每个包都有自己的守卫
- 在 .env 中写入 bootstrap-only 变量观察启动拒绝
- 从敲下 dsh 到补丁栈组装完成
- 在 headless 进程退出后检查 session JSONL 是否落盘
- Headless CLI 与 JSON-RPC Server——两种产品面
- 在 llm/stream listener 中尝试修改 frozen request
- LLM Service、流式 chunk 与 BlockAssembler
- 在 parallel 序列中插入 exclusive 调用, 观察 barrier 形成
- 工具调度器与注册域
- 在 pre-execute 监听器中返回 ask, 观察 approval 交互
- 工具调度器与注册域
- 逐行跟踪 BlockAssembler.push 的 switch 分支
- 流式响应:chunk 怎样变成消息
- 注册 agent 域的 restrict({ deny }) 后观察 schemas() 输出变化
- 工具调度器与注册域
- 注册 complete section 观察其他 section 被丢弃
- System Prompt 四层组装
- 注册 tools/result 监听器在回调中替换工具, 观察重分类
- 工具调度器与注册域
- 注册一个 isConcurrencySafe 返回 true 的工具, 观察并发启动
- 工具调度器与注册域
- 注册一个 order 50 的 section 观察最终排列
- System Prompt 四层组装
- 追踪 append/replace 分离
- 历史从事件日志重建,不是从聊天界面
- 追踪 Client Runtime 的 projection store
- 为什么 Web 新建会话不是 CLI 的前端按钮
- 追踪 createAgent 三阶段事务
- Agent、Session 和那个共用的身份证
- 追踪 followup 消息的完整路径
- Inbox 双队列:消息不是直接进模型的
- 追踪 headless-startup 的 task 解析
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- 追踪 localDelay 指数退避在不同 retry 序号下的延迟值
- Retry、Abort 与 turn 结账
- 追踪 prepareCall 闭包捕获的 registration 对象
- LLM Service、流式 chunk 与 BlockAssembler
- 追踪 seenGoalIds 防重用
- Goal 为什么是事件流而不是字段
- 追踪 session.create 路径与 SDK getOrCreateSession 路径
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- 追踪 syncTools 的两阶段原子交换
- MCP 工具注册与 Repository Plugin
- 追踪 wakeDriver 如何创建 AbortController
- turn/start 之前:谁有权开始新一轮
- 追踪五层patch顺序
- cordis.yml 怎样声明可替换的组合
- 追踪compaction事务bracket配对
- Resume、Fork、Compaction——上下文改写术
- 追踪compaction替换链
- Trajectory、Query 和 Replay
- 追踪cordis tool的define/run/undefine流程
- Repository Plugin 和 Self-modification
- 追踪RuntimeContextProjection去重逻辑
- 投影(Projection):同一份日志长出不同状态
- 追踪surfaceOp校验拒绝非eligible类型
- Surface 投影:模型看到的历史不等于你看到的
- best-effort flush:catch 只 log 不 throw
- 收束:Cancel、Dispose 和多 Agent 清理
- cancel keepInbox:true 不清 inbox 只 abort signal
- 收束:Cancel、Dispose 和多 Agent 清理
- cat agent.cordis.yml看standard preset完整组合
- Agent Preset:给单个会话换一套运行时
- cold resume 全路径追踪
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- drainDescendants 范围:只关联 ancestry.has(root)
- 收束:Cancel、Dispose 和多 Agent 清理
- effect 清理的 LIFO 顺序验证
- Cordis:不是依赖注入,是生命周期状态机
- FactoryOwnership.dispose:abort → inactive.resolve → Promise.all(live + startup)
- 收束:Cancel、Dispose 和多 Agent 清理
- git checkout 后运行 bash 实验命令验证行号
- 从一个 commit 到下一版:这本书怎样更新
- grep event envelope fields
- append-only Session 与 Event 信封
- grep finishDisposal 验证步骤顺序
- 收束:Cancel、Dispose 和多 Agent 清理
- grep fromRestore追踪restore模式
- Resume、Fork、Compaction——上下文改写术
- grep goal/change 事件类型注册
- Goal 为什么是事件流而不是字段
- grep headerFold实现
- 投影(Projection):同一份日志长出不同状态
- grep isolate看哪些service需要realm隔离
- Agent Preset:给单个会话换一套运行时
- grep notifySettlement 顺序验证
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- grep plan/mode last-wins 投影
- Plan、Todo、Schedule——Goal 的三个邻居
- grep PROFILE_ROOT_CONFIG看空数组
- cordis.yml 怎样声明可替换的组合
- grep project-dsh rank看.dsh/skills优先级
- Repository Plugin 和 Self-modification
- grep SURFACE_EVENT_TYPES观察三类门控
- Surface 投影:模型看到的历史不等于你看到的
- grep合法phase转换表
- Phase、Revision、Round——三道演化闸门
- grep所有事件类型
- Event Envelope:每个事件必须带的身份证
- initiator scope 级联:fiber UNLOADING → closeInitiators → 拒绝新 boundary
- 收束:Cancel、Dispose 和多 Agent 清理
- ls shipped preset目录看四个内置preset
- Agent Preset:给单个会话换一套运行时
- resume从active(disarmed)重新armed
- Phase、Revision、Round——三道演化闸门
- sync 增量 apply 逻辑
- Goal 为什么是事件流而不是字段
- !!js表达式访问undefined变量报错
- cordis.yml 怎样声明可替换的组合
- 把 launcher flags 放在内层 args 之后:pass-through 吞掉了它们
- 从敲下 dsh 到补丁栈组装完成
- 把readSession当简单JSON.parse
- Trajectory、Query 和 Replay
- 包缺少invariant.ts
- Invariant:每个包都有自己的守卫
- 并发 dispose 创建多个 Promise(memoization 防止)
- 收束:Cancel、Dispose 和多 Agent 清理
- 不理解 next-turn 和 next-step 的区别
- Inbox 双队列:消息不是直接进模型的
- 不理解为什么需要 prepare 和 publish 分开
- Agent、Session 和那个共用的身份证
- 不理解compaction后事件引用
- Trajectory、Query 和 Replay
- 不声明 inject 就访问服务
- Cordis:不是依赖注入,是生命周期状态机
- 不做normalizer直接diff
- Mock LLM 和 Snapshot 测试
- 测试只mock不跑真实进程
- Mock LLM 和 Snapshot 测试
- 尝试跳过round直接推进
- Phase、Revision、Round——三道演化闸门
- 非blank session recompose导致历史不一致
- Agent Preset:给单个会话换一套运行时
- 非JSON数据入口被拦
- append-only Session 与 Event 信封
- 非surface类型携带surfaceOp被拒
- append-only Session 与 Event 信封
- 忽略 persistence_uncertain 后信任 schedule 结果
- Plan、Todo、Schedule——Goal 的三个邻居
- 忽略 session/end-seed 标记
- Agent、Session 和那个共用的身份证
- 忽略 splice 的 durable-first 语义
- Inbox 双队列:消息不是直接进模型的
- 混淆 ctx.agent 和 ctx.agents
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- 混淆 GoalPhase 与 GoalActivation
- Goal 为什么是事件流而不是字段
- 混淆 Host RPC 和 SDK JSON-RPC 两套协议
- Headless CLI 与 JSON-RPC Server——两种产品面
- 混淆四象限 RPC 与标准 JSON-RPC 2.0
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- 混淆pause和block
- Phase、Revision、Round——三道演化闸门
- 假设projection总是O1
- 投影(Projection):同一份日志长出不同状态
- 空content assistant/message误入transcript
- Surface 投影:模型看到的历史不等于你看到的
- 跨层假设导致单点突破
- 安全分层:Trust、Permission、Sandbox、Network
- 连接断开时工具残留
- MCP 工具注册与 Repository Plugin
- 每步重复注入相同context
- 投影(Projection):同一份日志长出不同状态
- 批量替换 verifiedCommit 不验证内容
- 从一个 commit 到下一版:这本书怎样更新
- 时钟回拨导致 fold 校验失败
- Goal 为什么是事件流而不是字段
- 试图在agent scope修改root composition被拒
- Repository Plugin 和 Self-modification
- 忘记 isolate 导致服务冲突
- Capability Seam 与 cordis.yml 组合
- 忘记 turn/start 清空 Todo 投影
- Plan、Todo、Schedule——Goal 的三个邻居
- 未知required类型拒绝重建
- append-only Session 与 Event 信封
- 文档和代码漂移
- Invariant:每个包都有自己的守卫
- 相信note是加密的
- Telemetry 不能反过来定义会话
- 信任类型声明不看调用点
- 从一个 commit 到下一版:这本书怎样更新
- 信任unprobed sole candidate不会fail
- 安全分层:Trust、Permission、Sandbox、Network
- 修改返回的header对象破坏缓存
- 投影(Projection):同一份日志长出不同状态
- 沿用旧 UI 截图当作新版证据
- 从一个 commit 到下一版:这本书怎样更新
- 依赖循环导致无限 reload
- Cordis:不是依赖注入,是生命周期状态机
- 以为 abort 会立刻杀死所有 tool calls
- Retry、Abort 与 turn 结账
- 以为 abort 立刻 kill 所有执行中工具
- 并行工具调用:顺序和屏障
- 以为 activation 会持久化
- Goal 为什么是事件流而不是字段
- 以为 adapter 抛出的错误会直接 throw 给调用方
- LLM Service、流式 chunk 与 BlockAssembler
- 以为 adapter 替换有时间间隙
- LLM Service、流式 chunk 与 BlockAssembler
- 以为 Agent 和 Session 有独立 ID
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- 以为 ApiProxy 是透明代理
- 为什么 Web 新建会话不是 CLI 的前端按钮ApiProxy 与 SDK:Web 的控制面和客户端协议
- 以为 assembler 缓存完整消息才处理(实际逐 chunk 增量)
- 流式响应:chunk 怎样变成消息
- 以为 bin.ts 是主程序:它只是分发器
- 从敲下 dsh 到补丁栈组装完成
- 以为 block-start 必须存在才能开块(ensure 兜底)
- 流式响应:chunk 怎样变成消息
- 以为 BlockAssembler 在 finish 后还能接受 chunk
- LLM Service、流式 chunk 与 BlockAssembler
- 以为 cancel 会回滚 side effects(已写文件/已启动进程不撤销)
- 收束:Cancel、Dispose 和多 Agent 清理
- 以为 cancel 总是清空 inbox
- Retry、Abort 与 turn 结账
- 以为 chunk 仅在内存中不入日志(实际先持久化再组装)
- 流式响应:chunk 怎样变成消息
- 以为 chunk 事件组成消息
- 历史从事件日志重建,不是从聊天界面
- 以为 code-mode sub-dispatch 不受 maxParallel 限制
- 工具参数校验与并行执行池
- 以为 compaction 删除历史
- 历史从事件日志重建,不是从聊天界面
- 以为 contexts 是 system role 消息
- System Prompt 四层组装
- 以为 cordis.yml 是持久化配置:它每次启动都被覆写
- 从敲下 dsh 到补丁栈组装完成
- 以为 cordis.yml 是普通配置文件
- Capability Seam 与 cordis.yml 组合
- 以为 create 成功就 publish 了
- Agent、Session 和那个共用的身份证
- 以为 dispose 是 top-down(实际是 child-first)
- 收束:Cancel、Dispose 和多 Agent 清理
- 以为 dsh web 和 dsh --profile headless 只差 UI
- 为什么 Web 新建会话不是 CLI 的前端按钮
- 以为 exclusive 只等 body 不等 post-execute
- 并行工具调用:顺序和屏障
- 以为 Goal 是 Session 上的可变字段
- Goal 为什么是事件流而不是字段
- 以为 hand-built 调用也被 markAgentLoopRequest 冻结
- LLM Service、流式 chunk 与 BlockAssembler
- 以为 Headless 能多轮对话
- Headless CLI 与 JSON-RPC Server——两种产品面
- 以为 Headless 是 JSON-RPC Server 的简化版
- Headless CLI 与 JSON-RPC Server——两种产品面
- 以为 isConcurrencySafe 返回 truthy 就行: 必须严格 === true
- 工具调度器与注册域
- 以为 isConcurrencySafe 默认 true
- 工具注册和作用域:谁能看到什么工具
- 以为 isConcurrencySafe 抛错会传播
- 工具参数校验与并行执行池
- 以为 JSON-RPC Server 不做 session 持久化
- Headless CLI 与 JSON-RPC Server——两种产品面
- 以为 JSON-RPC Server 就是 Headless 加循环
- JSON-RPC Server:长期进程的暴露方式
- 以为 JSON-RPC Server 每次请求重启进程
- Headless CLI 与 JSON-RPC Server——两种产品面
- 以为 LlmRuntime 直接调 HTTP API
- LLM Service、流式 chunk 与 BlockAssembler
- 以为 maintenance 时消息会被丢弃
- turn/start 之前:谁有权开始新一轮
- 以为 max-tokens 后下一步 completed 能覆盖 turn 结果
- Retry、Abort 与 turn 结账
- 以为 max-tokens 时 tool-call 仍被执行(blocks 过滤掉)
- 流式响应:chunk 怎样变成消息
- 以为 MCP 工具有独立执行路径
- MCP 工具注册与 Repository Plugin
- 以为 normal 模式下所有错误码都重试
- Retry、Abort 与 turn 结账
- 以为 parallel 组所有阶段都并发
- 并行工具调用:顺序和屏障
- 以为 Plan Mode 改变了可用工具集
- Plan、Todo、Schedule——Goal 的三个邻居
- 以为 Plan Mode 是任务规划而非协作开关
- Plan、Todo、Schedule——Goal 的三个邻居
- 以为 post-execute block 能改变已发出的 deferContext: block 丢弃 body 的 context
- 工具调度器与注册域
- 以为 pre-execute deny 后 body 还会执行: body 从未被调用
- 工具调度器与注册域
- 以为 prepareCall 后 HMR 换 adapter 会影响 dispatch
- LLM Service、流式 chunk 与 BlockAssembler
- 以为 preStep reject 会抛异常
- turn/start 之前:谁有权开始新一轮
- 以为 projection value 需要客户端重算
- Conversation UI:消费事件但不冒充事实源
- 以为 restrict 能过滤所有工具
- 工具注册和作用域:谁能看到什么工具
- 以为 restrict 能屏蔽 own-layer 注册: 只过滤 inherited
- 工具调度器与注册域
- 以为 retry 先等再记日志实际是先持久化再等待
- Retry、Abort 与 turn 结账
- 以为 run_code 是普通注册工具
- 工具注册和作用域:谁能看到什么工具
- 以为 run_code 子调用无并发控制
- 并行工具调用:顺序和屏障
- 以为 Schedule 继承给子 agent
- Plan、Todo、Schedule——Goal 的三个邻居
- 以为 scope 链是子覆盖父就完了
- 工具注册和作用域:谁能看到什么工具
- 以为 SDK 的 JSON-RPC 就是 ApiProxy 的 RPC
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- 以为 SDK 调用 ApiProxy 的 HTTP 端点
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- 以为 SDK 是 REST API wrapper
- TypeScript 和 Python SDK 共享一套协议
- 以为 SDK 直接 import Agent 类
- TypeScript 和 Python SDK 共享一套协议
- 以为 SDK 只能连本地子进程
- TypeScript 和 Python SDK 共享一套协议
- 以为 Session 和 Agent 是同一个东西
- Agent、Session 和那个共用的身份证
- 以为 session event 需要自己解析
- TypeScript 和 Python SDK 共享一套协议
- 以为 shell 输出截断走 spill-policy
- 结果太大了:Spill、截断和外溢
- 以为 shutdown 是立即杀进程
- JSON-RPC Server:长期进程的暴露方式
- 以为 sourceEventSeqs 只含内容 delta 的 seq(含所有 chunk 包括 usage 和 finish)
- 流式响应:chunk 怎样变成消息
- 以为 spill 存储失败会让工具调用变 isError
- 结果太大了:Spill、截断和外溢
- 以为 spill 发生在下游 hook 之前
- 结果太大了:Spill、截断和外溢
- 以为 spill 会修改 canonical value 影响程序逻辑
- 结果太大了:Spill、截断和外溢
- 以为 spill 是工具层内置功能而非独立插件
- 结果太大了:Spill、截断和外溢
- 以为 surface 和 transcript 是同一个列表
- 历史从事件日志重建,不是从聊天界面
- 以为 surface 可用于人类 transcript
- Conversation UI:消费事件但不冒充事实源
- 以为 system prompt 是一段字符串拼接
- System Prompt 四层组装
- 以为 throw 会跳过 turn/end
- Retry、Abort 与 turn 结账
- 以为 tool card 渲染逻辑在客户端做
- Conversation UI:消费事件但不冒充事实源
- 以为 toolOrder 外的工具按注册顺序
- System Prompt 四层组装
- 以为 TS 和 Python 功能不一致
- TypeScript 和 Python SDK 共享一套协议
- 以为 turn/start 意味着模型会被调用
- turn/start 之前:谁有权开始新一轮
- 以为 UI 直接持有 Session 或 Agent 引用
- Conversation UI:消费事件但不冒充事实源
- 以为 UI 状态是真相源而非投影
- Conversation UI:消费事件但不冒充事实源
- 以为 variable 未定义会替换为空字符串
- System Prompt 四层组装
- 以为 variable 值中的双花括号会被二次替换
- System Prompt 四层组装
- 以为 wakeDriver 总是立即开始 turn
- turn/start 之前:谁有权开始新一轮
- 以为 waterfall 修改能绕过 complete section 恢复
- System Prompt 四层组装
- 以为 waterfall listener 可以修改 frozen 请求
- LLM Service、流式 chunk 与 BlockAssembler
- 以为 Web 模式是 Headless 加 UI
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- 以为 Web 新建会话直接调 agents.create
- 为什么 Web 新建会话不是 CLI 的前端按钮
- 以为补丁栈是"后来的覆盖前面的":实际是 applyEntryPatches 的 id-targeted merge
- 从敲下 dsh 到补丁栈组装完成
- 以为参数校验在 pre-execute hook 里
- 工具参数校验与并行执行池
- 以为单元测试覆盖集成路径
- Mock LLM 和 Snapshot 测试
- 以为断线时用 localStorage 恢复
- Conversation UI:消费事件但不冒充事实源
- 以为多个 complete section 会合并
- System Prompt 四层组装
- 以为改行号就够
- 从一个 commit 到下一版:这本书怎样更新
- 以为结果提交顺序与完成顺序相同
- 工具参数校验与并行执行池
- 以为看到 UI 更新就等于持久化了
- Conversation UI:消费事件但不冒充事实源
- 以为客户端断了 session 就没了
- JSON-RPC Server:长期进程的暴露方式
- 以为空 assistant 消息会传给模型
- 历史从事件日志重建,不是从聊天界面
- 以为两者的 session 生命周期管理相同
- ApiProxy 与 SDK:Web 的控制面和客户端协议
- 以为两者用不同的 Agent 实现
- Headless CLI 与 JSON-RPC Server——两种产品面
- 以为浏览器里有 Session 对象
- 为什么 Web 新建会话不是 CLI 的前端按钮
- 以为没有 finish chunk 会导致异常(默认 stop)
- 流式响应:chunk 怎样变成消息
- 以为每个 session 有独立 Cordis root
- JSON-RPC Server:长期进程的暴露方式
- 以为取消后结果直接丢弃: 已启动的调用仍然 drain 到 quiescence
- 工具调度器与注册域
- 以为日志顺序等于模型历史顺序
- Surface 投影:模型看到的历史不等于你看到的
- 以为所有大结果都会 spill(未配置 maxInlineBytes 则 noop)
- 结果太大了:Spill、截断和外溢
- 以为所有工具调用天然并行: 默认是 exclusive
- 工具调度器与注册域
- 以为所有工具都可并行
- 工具参数校验与并行执行池
- 以为所有事件都进模型历史
- 历史从事件日志重建,不是从聊天界面
- 以为同名 section 会追加而不是覆盖
- System Prompt 四层组装
- 以为消息直接进模型 prompt
- Inbox 双队列:消息不是直接进模型的
- 以为compaction删除旧事件实际只是surface投影移除
- Resume、Fork、Compaction——上下文改写术
- 以为phase=active就自动续跑
- Phase、Revision、Round——三道演化闸门
- 以为sandbox是唯一防线
- 安全分层:Trust、Permission、Sandbox、Network
- 以为session id能识别同一生命周期
- Telemetry 不能反过来定义会话
- 引用了不存在的surface节点seq
- Surface 投影:模型看到的历史不等于你看到的
- 用===比较header
- 投影(Projection):同一份日志长出不同状态
- 用telemetry数据恢复会话
- Telemetry 不能反过来定义会话
- 在 .env 中设置 PATH 或 DSH_ 前缀变量:bootstrap-only 拒绝
- 从敲下 dsh 到补丁栈组装完成
- 在 headless 里期望多 agent 共存
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- 在 UNLOADING 阶段注册新 effect
- Cordis:不是依赖注入,是生命周期状态机
- 在 web 里忽略 trustedHosts 安全检查
- Agent 和 Session 共用一个身份证——但 Headless 和 Web 走的不是同一条路
- 在非git仓库里打开看不到project skills
- Repository Plugin 和 Self-modification
- 在listener层做策略gate被prepend绕过
- 安全分层:Trust、Permission、Sandbox、Network
- 增量更新 Todo 以为有 todo_add/todo_complete API
- Plan、Todo、Schedule——Goal 的三个邻居
- 直接改cordis.yml被下次启动覆写
- cordis.yml 怎样声明可替换的组合
- 只看行号漂移忽略 owner 变化
- 从一个 commit 到下一版:这本书怎样更新
- 子 agent 异常退出但 manager 未调用 notifySettlement
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- 自定义事件类型忘加ignorable导致resume失败
- Event Envelope:每个事件必须带的身份证
- abort 后 send 被重分类到 next-turn
- Inbox 双队列:消息不是直接进模型的
- bare specifier在user home解析失败
- Agent Preset:给单个会话换一套运行时
- broken preset阻止mount
- Agent Preset:给单个会话换一套运行时
- cancel 默认清空 inbox 丢消息(需要 keepInbox:true 保留)
- 收束:Cancel、Dispose 和多 Agent 清理
- ChildLock 缺失导致 delivery/disposal 竞态
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- clear 后尝试重用同一 GoalId
- Goal 为什么是事件流而不是字段
- cold resume 忽略 lineage 授权导致越权恢复
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- compaction期间surface变化导致replace验证失败
- Resume、Fork、Compaction——上下文改写术
- complete之后还想resume
- Phase、Revision、Round——三道演化闸门
- composeFrom父agent未join preset返回undefined
- Agent Preset:给单个会话换一套运行时
- cordis_define创建的plugin session结束就消失
- Repository Plugin 和 Self-modification
- disabled 互斥条件写反
- Capability Seam 与 cordis.yml 组合
- effect 里返回 async disposer 但不 await
- Cordis:不是依赖注入,是生命周期状态机
- factory teardown 不等 startup tasks 导致孤儿 agent
- 收束:Cancel、Dispose 和多 Agent 清理
- flush 失败阻塞 dispose 导致整棵树内存泄漏
- 收束:Cancel、Dispose 和多 Agent 清理
- fork在open turn内被拒OPEN_TURN
- Resume、Fork、Compaction——上下文改写术
- FTS索引不完整
- Trajectory、Query 和 Replay
- HMR时旧Fiber cleanup阻塞
- cordis.yml 怎样声明可替换的组合
- HMR时以为正在进行的对话会换工具
- Repository Plugin 和 Self-modification
- inject 不唤醒父以为消息已处理
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- insert到非group entry报错
- cordis.yml 怎样声明可替换的组合
- notifySettlement 在 releaseOwnership 之后导致消息丢失
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- notifySettlement 在 releaseOwnership 之后发导致父误判 settled
- 收束:Cancel、Dispose 和多 Agent 清理
- observer递归append
- append-only Session 与 Event 信封
- patch id写错不生效无提示
- cordis.yml 怎样声明可替换的组合
- peer依赖缺失不报错
- Invariant:每个包都有自己的守卫
- persistence.prepare被factory teardown abort
- Resume、Fork、Compaction——上下文改写术
- preset内service没配isolate realm→leakedServices审计reject
- Agent Preset:给单个会话换一套运行时
- preStep reject 导致消息被吞
- Inbox 双队列:消息不是直接进模型的
- Provider 不继承 Service 基类
- Capability Seam 与 cordis.yml 组合
- replace的start在end之后
- Surface 投影:模型看到的历史不等于你看到的
- replace范围不包含所有shadowed节点的sourceEventSeqs
- Surface 投影:模型看到的历史不等于你看到的
- reportFrom 在 disposal 窗口被拒绝但消息已送达
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果
- Repository Plugin 权限边界
- MCP 工具注册与 Repository Plugin
- repository plugin和bundled skill同名时project赢
- Repository Plugin 和 Self-modification
- resume 时忽略 round 预算耗尽
- Goal 为什么是事件流而不是字段
- resume期间owner dispose中断setup
- Resume、Fork、Compaction——上下文改写术
- resume时忽略selected事件用错preset
- Agent Preset:给单个会话换一套运行时
- revision CAS失败以为是bug
- Phase、Revision、Round——三道演化闸门
- schedule every 间隔设太短被 frequency_too_high 拒绝
- Plan、Todo、Schedule——Goal 的三个邻居
- schedule followup 归属 initiator 导致被错误清理
- 收束:Cancel、Dispose 和多 Agent 清理
- seq 断裂拒绝恢复
- append-only Session 与 Event 信封
- seq不连续抛错
- Event Envelope:每个事件必须带的身份证
- sourceEventSeqs不覆盖全部shadowed节点
- Resume、Fork、Compaction——上下文改写术
- standing mount内row等待永远不提供的service
- Agent Preset:给单个会话换一套运行时
- surface-eligible事件忘记标记surfaceOp
- Surface 投影:模型看到的历史不等于你看到的
- tool-call/result配对被切断
- Resume、Fork、Compaction——上下文改写术
- tool/call带surfaceOp被编译器拒绝
- Event Envelope:每个事件必须带的身份证
- tool/result替换修改了content以外字段
- Surface 投影:模型看到的历史不等于你看到的
- URL credentials泄露到外部
- 安全分层:Trust、Permission、Sandbox、Network
- user preset同名shadow被shipped preset覆盖
- Agent Preset:给单个会话换一套运行时
- wakeup 模式频繁唤醒导致模型请求放大
- Parent Mailbox:父 Agent 怎样接住子 Agent 的结果