用途:为长时间运行或包含循环、调度、守卫、重试的代码加入可观测性,使后续代理或调试者能定位问题。
主要能力:在决策点输出结构化日志(JSONL,每行一个事件,含 ts、event 和领域字段);将失败状态持久化到磁盘(如 .gsd/runtime/last-error.json);为长驻进程提供健康端点或状态文件;用显式错误类型替代静默 try/catch。
使用方式:先列出可能的失败模式(输入无效、外部依赖故障、内部不变量破坏、静默损坏),再在这些决策点插桩。gsd-pi 中可参考 src/resources/extensions/gsd/activity-log.ts 与 journal.ts 的 JSONL 模式,复用 atomic-write.ts 及 .gsd/runtime/、.gsd/forensics/ 目录。日志示例如:log.info({ event: "unit-dispatched", unitType: "slice", unitId: "S02", reason: "pending", attempt: 1, flowId })。失败持久化示例:await writeAtomically(resolve(".gsd/runtime/last-error.json"), JSON.stringify({...})),其中对象包含 ts、phase、unitId、error(message、stack、code)、retryCount。
适用场景:自动模式代码、后台任务与监听器、服务器或长驻进程、难以调试的子系统重构、排查“完全无可见性”的生产缺陷。
限制与反模式:不要统一记录函数进出;不要用散文式日志(应可查询过滤);不要静默吞掉异常;不要记录密钥、令牌或 PII;不要堆积无人看的指标;不要在热路径循环内过度插桩。完成前移除临时调试插桩,并模拟一种失败模式验证信号可被冷启动代理理解。
资料未提供具体平台支持、收费方式或安装命令等信息。