Skip to content

[shared] 抽取 _append_jsonl 通用 JSONL 落盘 helper #17

Description

@beachspainc

现象

_append_jsonl 在多个模块重复定义,核心逻辑都是“确保目录存在 + json.dumps + 追加写入 + ignore 异常”。当前重复度高,且失败策略不统一。

重复位置:

  • apps/agentic/relay/loopback.py:32
  • apps/shared/governance/events.py:43
  • apps/server/worker/llm_monitor.py:52
  • apps/server/gateway/llm/supervise.py:24
  • apps/server/daemon/services/llm/memory.py:22
  • apps/server/daemon/services/llm/usage.py:16
  • apps/client/sdk/process/worklog/tools.py:40

建议

  • 抽取到 src/cobnet/shared/jsonl.py(或现有共享工具层)
  • 定义统一签名,支持 Mapping[str, Any] / Mapping[str, object]
  • 明确并集中错误处理策略(是否静默、是否加锁、是否保持 newline)
  • 为关键场景补充最小单测(多路径创建、并发写入、异常兜底)

价值

  • 降低重复代码噪音,统一日志/审计 JSONL 落盘行为
  • 便于后续接入统一日志规范与可观测性管控

与已存在 issue 的关系

当前 open issue 列表未包含该重复点(#8-15 为 backplane helper)。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions