现状与证据
_as_non_empty_str 有一类“非 trim 的无空字符串校验”重复定义,出现于 apps/** 与 src/cobnet/**,与 #10(strip 版)语义不同,应拆开建桶。
重复清单:
apps/server/controller/backplane/toolbox.py:63
apps/server/worker/toolbox.py:131
apps/shared/toolbox/result_payload.py:8
src/cobnet/protocol/worker/request.py:42
src/cobnet/protocol/worker/job_spec.py:28
src/cobnet/protocol/worker/artifact_store.py:22
src/cobnet/protocol/tool/request.py:28
这些实现均是同一核心语义:
- 输入是
str 且非空,返回原值;否则返回 None。
建议
验收标准
- 补充通用 helper 并补齐单测。
- 将上述 7 处重复定义迁移为统一调用。
- 保持异常行为(返回
None)不变。
关联
现状与证据
_as_non_empty_str有一类“非 trim 的无空字符串校验”重复定义,出现于apps/**与src/cobnet/**,与 #10(strip 版)语义不同,应拆开建桶。重复清单:
apps/server/controller/backplane/toolbox.py:63apps/server/worker/toolbox.py:131apps/shared/toolbox/result_payload.py:8src/cobnet/protocol/worker/request.py:42src/cobnet/protocol/worker/job_spec.py:28src/cobnet/protocol/worker/artifact_store.py:22src/cobnet/protocol/tool/request.py:28这些实现均是同一核心语义:
str且非空,返回原值;否则返回None。建议
src/cobnet/backplane的基础 helper(例如as_non_empty_str或as_non_empty_text)strip与非strip两种策略(参数可控),避免跨协议层重复实现。strip的value and行为;strip()变体保持 [backplane][foundation] 抽取 _as_non_empty_str 通用字符串校验 helper #10 的单独范围。验收标准
None)不变。关联
strip版本重复定义清单。