docs: record prefixed content ownership deployment evidence
This commit is contained in:
@@ -1,6 +1,18 @@
|
||||
# Dispatcher / Agent Logrus Debug 实现与固定环境部署
|
||||
|
||||
## 最终已安装版本:2683d98(2026-10-10 02:16 CST 现场)
|
||||
## 最终已安装版本:bfe7630(2026-10-10 03:04 CST 现场)
|
||||
|
||||
第六次审查复现错误前缀后的内容标签漏保护,已根因修复:文本字段归属由行中敏感标签建立,不再只看行首;保持唯一内容分类,保留标签之前真实失败前缀,对其后对话段落持续隐藏。
|
||||
|
||||
新 `TestPrefixedContentLabelsKeepReasonAndOwnFollowingDialogue` 覆盖简单/多层冒号错误前缀、分号前缀、中文前缀,以及 conversation/history/messages/system_message/prompt/final_transcript;普通/Debug error/detail/message/HTTP TextBody均排除用户助手内容、保留原失败原因/status/attempts。先运行失败后实现通过;旧统一分类、空行、Markup、认证/PEM、JSON原因保留及长HTTPbytes不变断言继续通过。
|
||||
|
||||
最终源码 `bfe763021ecfec65e9107ff8ce9c5327841e1c71` 已推送核对main,从干净固定提交构建安装。最终make check/release-check-local(格式/合同Proto/vet/全包race/build/实际隔离RabbitMQ HTTPS mTLS及现有验收对照)、Python21通过,业务覆盖率 **72.0%**;记录 `.local/prefix-final-check.log`、`.local/prefix-coverage.log`、`.local/prefix-release-check.log`。
|
||||
|
||||
2026-10-10 03:04 CST现场:Agent `2902748`/Dispatcher `2902759` 两实际SHA256 `c29200e39e8274aa5a806eaa0037fe878712829864ee2f58d9707c9d25682ff9`,enabled+active/running、0重启、实际Debug无Capture;Asterisk `777461` 不变,通道/tcpdump0。关D新准入再只读确认零通话/未知执行/恢复状态才部署;无reset/迁移/Asterisk重启/抓包/独立拨号/主动投递/额外AI OSS。
|
||||
|
||||
实际14HTTP请求响应200、两端各12DebugRPC正文、仅LogrusJSON,0error/redaction_error/已观测敏感字段及签名URL泄漏、15隐藏标记。现场无非JSON正文/MQ业务/呼叫/真实恢复故障,新反例只本地断言,不伪造现场发生或业务生产签收;独立probe仍saas_pending/business_ready=false。私密摘要本机 `.local/logging-deployment/prefix-{preflight,deploy,field-summary}.json`(文件0600目录0700)。源码/文档权威仍隔离main `.local/logging-isolated`,根并行修改保留;旧版仅历史。
|
||||
|
||||
## 上一版部署记录:2683d98(2026-10-10 02:16 CST 历史)
|
||||
|
||||
第五次审查发现敏感值与文本归属分别分类,conversation/history及JSON conversation数组漏保护。已根因合并:`redact.go`中的唯一内容分类 `conversationField(normalizedField(key))` 同时供 `sensitive`、文本续行、Markup和JSON使用,移除 `text.go`重复表;内容分类必定敏感,不再两份别名表相互偏离。
|
||||
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@ Agent 的抓包开关独立为 `--capture`:只在显式开启时要求 `AGENT_
|
||||
|
||||
## 正文边界
|
||||
|
||||
密钥、Token、认证信息、完整 prompt/messages/transcript/text/content/结束语、原始 SIP 内容及音频不输出。敏感字段按键名隐藏,重复键逐个处理;其他 JSON 的空白、重复键和数字写法保留,原业务字节与对象不修改。内容字段仅一份分类表(含conversation/history及其别名),所有JSON、Markup、文本续行和标量路径共用;内容分类必定敏感,避免字段分类分离。所有普通/Debug 日志的 message、error 和其他标量共用字段/对话保护;对话保护跨空行和仅空白段落保持,不以空行作为结束边界,仅明确非对话业务字段结束归属;named 敏感非 void 控件保护其包裹内容,void input 不影响后续普通节点。纯文本以 UTF-8 安全副本记录;敏感键值/多行提示词、Markup 的敏感标签/输入值、表单敏感字段排除,其他可读正文保留。HTTP 二进制和升级后的 WebSocket 流不进入正文日志。
|
||||
密钥、Token、认证信息、完整 prompt/messages/transcript/text/content/结束语、原始 SIP 内容及音频不输出。敏感字段按键名隐藏,重复键逐个处理;其他 JSON 的空白、重复键和数字写法保留,原业务字节与对象不修改。内容字段仅一份分类表(含conversation/history及其别名),所有JSON、Markup、文本续行和标量路径共用;内容分类必定敏感,避免字段分类分离。内容标签在错误前缀之后也建立归属,保留其前失败原因,不以行首为唯一匹配位置。所有普通/Debug 日志的 message、error 和其他标量共用字段/对话保护;对话保护跨空行和仅空白段落保持,不以空行作为结束边界,仅明确非对话业务字段结束归属;named 敏感非 void 控件保护其包裹内容,void input 不影响后续普通节点。纯文本以 UTF-8 安全副本记录;敏感键值/多行提示词、Markup 的敏感标签/输入值、表单敏感字段排除,其他可读正文保留。HTTP 二进制和升级后的 WebSocket 流不进入正文日志。
|
||||
|
||||
自由文本里的 Authorization/Proxy-Authorization(包括 Basic/Digest)、Cookie、无字段名的私钥 PEM 块,以及错误里嵌入的 JSON 对象/数组和 quoted API key/Token,同样排除;已隐藏的 JSON 认证字段不删掉后面的非敏感业务原因。实际错误仍返回,原原因保留。非法 JSON、无法安全展开的嵌套数据或部分读取不能退回打印未经处理的正文:输出 `redaction_error`、字节数及 SHA-256。HTTP `body_complete=false` 只表示已观测部分,不能把它当作完整网络正文;原读取/关闭错误继续返回,不因日志改变重试、确认或业务结果。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user