Capture the command-center operation analyses, inventory outputs, and browser pipeline reference files produced during the current research pass so they can be reviewed from the branch. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
21 KiB
95598-repair-city-dispatch 操作分析
1. 场景概述
95598-repair-city-dispatch 对应“95598抢修-市指”场景,目标是监测抢修工单队列,并在必要时触发提醒、日志写入与自动派单等后续动作。根据 D:\data\ideaSpace\rust\sgClaw\claw\claw\skills\skill_staging\scenes\95598-repair-city-dispatch\scene.json、D:\data\ideaSpace\rust\sgClaw\claw\claw\skills\skill_staging\skills\95598-repair-city-dispatch\SKILL.md、D:\data\ideaSpace\rust\sgClaw\claw\claw\skills\skill_staging\skills\95598-repair-city-dispatch\scripts\collect_repair_orders.js 以及两份规则资产,当前最严谨的结论是:本场景的 packaged JS collector 已经实现输入驱动的 monitor-snapshot 归一化 / 比较逻辑,会按状态分桶 repair orders、解析 monitor/dispose logs、推导 pending_ids / new_pending_ids、给出 success/partial/empty/blocked 状态,并附带 desk 规则来源、配置基础页与已知问题元数据;但更强的业务监测、提醒与自动派单 workflow 证据仍主要存在于 desk 规则资产中,证据等级分别为 code-confirmed。
必须显式区分三层证据:
- packaged runtime-snapshot-collector:
collect_repair_orders.js已直接实现 repair-order 分类、历史比较、状态判定与标准化快照输出,并显式携带workflow_rule_sources、config_base_page、config_base_role、packaged_collector_role与known_issues,证据等级:code-confirmed。 - 业务监测逻辑:
D:\desk\智能体资料\大四区报告监测项\95598抢修-市指_业务检测配置.txt直接展示了队列采集、状态分类、监测日志比较、音频提醒与监测日志写入逻辑,证据等级:code-confirmed。 - 自动派单 / 提醒逻辑:
D:\desk\智能体资料\大四区报告监测项\95598抢修-市指_自动处理配置.txt直接展示了去重、班组匹配、自动派单请求、音频提醒、短信发送、外呼触发与处置日志写入逻辑,证据等级:code-confirmed。
但这些 code-confirmed 只表示“代码或规则资产中存在这些实现分支或动作定义”,不等于“运行时已验证成功”。本文不对运行时成功做任何拔高表述。
2. 证据来源
本分析统一只使用四个证据等级标签:code-confirmed、contract-defined、implementation intent exists but not rigorous / buggy、no direct evidence / candidate only。
D:\data\ideaSpace\rust\sgClaw\claw\claw\skills\skill_staging\skills\95598-repair-city-dispatch\scripts\collect_repair_orders.js- 直接定义
STATUS_GROUPS、LOCAL_SERVICE_ENDPOINTS、WORKFLOW_RULE_SOURCES、CONFIG_BASE_PAGE、KNOWN_ISSUES,并实现 repair-order 分类、monitor/dispose log 解析比较、new_pending_ids推导、success/partial/empty/blocked状态判定,以及带evidence/known_issues的monitor-snapshot输出,证据等级:code-confirmed。
- 直接定义
D:\desk\智能体资料\大四区报告监测项\95598抢修-市指_业务检测配置.txt- 直接实现工单队列采集、按状态分桶、待处理列表比较、音频提醒、监测日志写入,且暴露待处理分类 bug,证据等级:
code-confirmed。
- 直接实现工单队列采集、按状态分桶、待处理列表比较、音频提醒、监测日志写入,且暴露待处理分类 bug,证据等级:
D:\desk\智能体资料\大四区报告监测项\95598抢修-市指_自动处理配置.txt- 直接实现处置日志去重、班组范围匹配、自动派单请求、自动派单成功/失败/异常/未匹配分支、音频日志、短信日志、外呼触发与
setDisposeLog写入,证据等级:code-confirmed。
- 直接实现处置日志去重、班组范围匹配、自动派单请求、自动派单成功/失败/异常/未匹配分支、音频日志、短信日志、外呼触发与
D:\data\ideaSpace\rust\sgClaw\claw\claw\skills\skill_staging\skills\95598-repair-city-dispatch\SKILL.md- 定义“优先使用 packaged collector、把监测快照与下游动作分离、允许 partial”的运行契约,证据等级:
contract-defined。
- 定义“优先使用 packaged collector、把监测快照与下游动作分离、允许 partial”的运行契约,证据等级:
D:\data\ideaSpace\rust\sgClaw\claw\claw\skills\skill_staging\skills\95598-repair-city-dispatch\references\collection-flow.md- 定义以页面配置为入口、结合规则资产理解语义、采集状态
00/01/06/08、对比 monitor/dispose logs 的一阶流程,证据等级:contract-defined。
- 定义以页面配置为入口、结合规则资产理解语义、采集状态
D:\data\ideaSpace\rust\sgClaw\claw\claw\skills\skill_staging\skills\95598-repair-city-dispatch\references\data-quality.md- 定义状态分类、partial 规则、empty/failure 区分和下游副作用边界,证据等级:
contract-defined。
- 定义状态分类、partial 规则、empty/failure 区分和下游副作用边界,证据等级:
D:\data\ideaSpace\rust\sgClaw\claw\claw\skills\skill_staging\scenes\95598-repair-city-dispatch\scene.json- 声明场景分类、输入
time、依赖和动作类型,证据等级:code-confirmed。
- 声明场景分类、输入
D:\data\ideaSpace\rust\sgClaw\claw\claw\skills\skill_staging\scenes\95598-repair-city-dispatch\scene.draft.json- 展示早期推断中对
trigger-alert、configServices是否拆分的犹豫,属于候选整理结果,证据等级:no direct evidence / candidate only。
- 展示早期推断中对
3. 实际入口与运行边界
实际入口在 scene.json 中已固定:场景页面入口为 index.html,技能工具名为 95598-repair-city-dispatch.collect_repair_orders,输出类型为 monitor-snapshot,输入为 time,这些都属于 code-confirmed。
其中 assets/scene-snapshot/index.html 只应被视为配置基础页(例如班组、联系人、范围维护),不应被当作规则 workflow 的主执行证据。
运行边界方面,需要做两个强制区分:
- packaged JS runtime collector 的实际边界:它已经能基于输入
repair_orders、monitor_logs、dispose_logs做状态分类、历史比较、new_pending_ids推导与success/partial/empty/blocked判定,并返回标准monitor-snapshot;但它仍是输入驱动归一化 collector,不直接发起浏览器请求,也不直接承载完整业务 workflow,证据等级:code-confirmed。 - rule-asset 行为边界:业务检测规则和自动处理规则分别展示了浏览器请求、日志比较、提醒副作用与自动派单副作用,证据等级:
code-confirmed。
也就是说,本场景不能被单句描述成“统一 packaged collector 已完整实现实时队列监测与自动派单”。更严谨的说法是:packaged collector 已实现可测试的输入驱动快照归一化 / 比较逻辑;而较强的实时监测与自动处理链路证据仍来自 desk 规则资产,证据等级:code-confirmed。
同时,SKILL.md 与 reference 明确要求把“快照采集成功”与“音频、短信、外呼、自动派单等下游效果”分开表达;这属于运行契约约束,证据等级:contract-defined。
4. 代码已证实的实际操作流程
4.1 packaged runtime-snapshot-collector 已证实流程
collect_repair_orders.js 中现在能严格确认:
- 调用
collectRepairOrders(input),读取input.repair_orders、input.monitor_logs || input.monitor_log、input.dispose_logs || input.dispose_log、input.local_write_failures、input.blocked_reason等输入。 - 通过
classifyRepairOrders(...)按STATUS_GROUPS.pending = ["00", "01"]、STATUS_GROUPS.audit = ["06"]、STATUS_GROUPS.processed = ["08"]对 repair orders 分桶,并记录未知状态。 - 从 pending orders 提取
pending_ids,再解析 monitor/dispose logs,识别 malformed payload,并据此推导new_pending_ids。 - 按
blocked > partial > empty > success的优先级计算status,并把未知状态、日志缺失、日志解析失败、本地写失败等写入partial_reasons。 - 返回
type: "monitor-snapshot"、scene: "95598-repair-city-dispatch"、pending、audit、processed、pending_ids、new_pending_ids、status、partial_reasons。 - 在返回对象中附带
evidence.workflow_rule_sources、evidence.config_base_page、evidence.config_base_role、evidence.packaged_collector_role = "runtime-snapshot-collector",以及known_issues。 - 模块额外导出
STATUS_GROUPS、LOCAL_SERVICE_ENDPOINTS、WORKFLOW_RULE_SOURCES、CONFIG_BASE_PAGE、KNOWN_ISSUES。
以上都属于 code-confirmed。
4.2 业务监测规则已证实流程
95598抢修-市指_业务检测配置.txt 中可直接确认:
- 通过
BrowserAction("sgBrowerserJsAjax2", ...)请求repairOrder/list,查询条件包含statusName=00,01,06,08与当天时间窗,证据等级:code-confirmed。 - 将返回列表按状态分到
list、shlist、ycjList,并构造pending/audit/processed与pendingList,证据等级:code-confirmed。 - 读取
getMonitorLog,并基于待处理列表对比决定是否播报音频提醒,证据等级:code-confirmed。 - 将监测结果写入
setMonitorData与setMonitorLog,证据等级:code-confirmed。 - 音频提醒结果会写入
setAudioPlayLog成功/失败/异常三类状态,证据等级:code-confirmed。
但这里同时存在一个直接可见的 bug:待处理判断写成了 item.status == "00" && item.status == "01",这在单个状态值上不可能同时成立,因此规则中的 pending 列表构造逻辑不严谨,证据等级:implementation intent exists but not rigorous / buggy。
4.3 自动处理规则已证实流程
95598抢修-市指_自动处理配置.txt 中可直接确认:
- 先写一条“进入自动派单”的监测日志,再读取
getDisposeLog做已派单去重,证据等级:code-confirmed。 - 对未派过单的待处理工单,读取
getClassList,按scope对故障地点gzdd做班组匹配,证据等级:code-confirmed。 - 匹配成功时,请求
repairOrder/initProcess进行自动派单,证据等级:code-confirmed。 - 自动派单成功时,会触发成功音频播报、短信发送、外呼触发,并写
setDisposeLog(state="成功"),证据等级:code-confirmed。 - 自动派单失败时,会触发失败音频播报,并写
setDisposeLog(state="失败"),证据等级:code-confirmed。 - 自动派单异常时,会触发异常音频播报,并写
setDisposeLog(state="异常"),证据等级:code-confirmed。 - 未匹配到班组时,会触发未匹配音频播报,并写
setDisposeLog(state="未匹配"),证据等级:code-confirmed。
以上动作都只是“规则层实现分支存在”的直接证据,不代表运行时已经验证成功。
5. 标准化抽象流程
若为 command-center 做严格抽象,本场景更合理的标准化流程应写成:
- 接收监测任务输入
time。 - 使用规则资产定义的浏览器请求采集 95598 抢修队列。
- 将源数据分为
pending、audit、processed,并保留规则层可见的待处理列表语义。 - 用 monitor log / dispose log 做比较上下文,得出“新增待处理”或待自动处理集合。
- 若进入标准配置归一层,再把这些结果映射为
pending_ids、new_pending_ids等 canonical 字段。 - 先返回或保留监测快照语义。
- 再执行音频提醒、短信、外呼、自动派单、日志写入等下游动作。
其中第 1 步可由 packaged collector 的显式输入 time 支撑,第 3、4、5、6 步可由 packaged collector 的输入驱动归一化 / 比较逻辑支撑,证据等级:code-confirmed;第 2、7 步主要由规则资产直接支撑,证据等级:code-confirmed;“快照应先于下游副作用表达”这一边界来自 SKILL.md / references,证据等级:contract-defined。
如果进一步把这个抽象流程说成“已由统一 packaged collector 严格承载实时浏览器采集与自动派单副作用”,那就不严谨了,因为这些更强 workflow 证据仍在 desk 规则资产而不是 packaged collector 中,证据等级只能降为 implementation intent exists but not rigorous / buggy。
6. 输入、上下文与依赖
输入
time是 scene 与 packaged script 共同声明的显式输入,证据等级:code-confirmed。- 当天时间窗拼接逻辑出现在业务监测规则中,即
00:00:00到23:59:59,证据等级:code-confirmed。 - “当前队列窗口通常是当天”在 reference 中被明确说明,证据等级:
contract-defined。
运行上下文
- 平台 session、org/user 上下文、浏览器可执行
BrowserAction是规则资产和 reference 共同依赖的前提,证据等级分别为code-confirmed与contract-defined。 - 页面本身更偏配置页,而真正监测语义来自规则资产,这一点在
collection-flow.md中被明确指出,证据等级:contract-defined。
依赖
scene.json中声明browser、local-service、repair-order-source、history-log、status-classification,证据等级:code-confirmed。- 业务监测规则直接使用
repairOrder/list、MonitorServices/getMonitorLog、setMonitorData、setMonitorLog、setAudioPlayLog,证据等级:code-confirmed。 - 自动处理规则直接使用
getDisposeLog、getClassList、repairOrder/initProcess、setDisposeLog、setSendMessageLog与外呼触发mac.callOutLogin,证据等级:code-confirmed。 configServices是否需要单独提升为正式依赖,在scene.draft.json中仍是待确认项,证据等级:no direct evidence / candidate only。
7. 输出结构
当前输出结构需要分层描述。
7.1 packaged runtime collector 已直接定义的输出
collect_repair_orders.js 直接定义:
type: "monitor-snapshot"scene: "95598-repair-city-dispatch"timependingauditprocessedpending_idsnew_pending_idsstatuspartial_reasonsevidence.workflow_rule_sourcesevidence.config_base_pageevidence.config_base_roleevidence.packaged_collector_roleknown_issues
以上全部属于 code-confirmed。
7.2 规则资产已展示的实际快照字段语义
业务监测规则直接构造了:
timetype: "95598抢修-市指"pendingpendingListauditprocessed
这说明规则层实际快照对象与 packaged stub 的字段命名并不完全一致,尤其是 pendingList vs pending_ids、type vs scene,证据等级:code-confirmed。
7.3 new_pending_ids 的证据强度
SKILL.md、reference 和 data-quality.md 都把 new_pending_ids 当作期望输出的一部分,证据等级:contract-defined。但在已读规则资产里,能直接看到的是“对 monitor log / dispose log 做比较并决定是否提醒或进入自动派单”,而没有看到显式字段 new_pending_ids 被直接写出,因此“存在历史比较意图”是 code-confirmed,“new_pending_ids 已被当前实现严谨产出”只能标为 implementation intent exists but not rigorous / buggy。
8. 下游动作证据表
| 下游动作 | 当前证据 | 证据等级 | 严谨结论 |
|---|---|---|---|
返回 monitor-snapshot runtime collector 输出 |
collect_repair_orders.js 直接返回对象 |
code-confirmed |
packaged JS 直接证明标准 snapshot 字段、状态判定与 collector metadata 已存在。 |
| 队列采集请求 | 业务监测规则调用 repairOrder/list |
code-confirmed |
队列采集逻辑直接存在于规则资产中。 |
| 音频提醒调用 | 业务监测规则和自动处理规则都调用 mac.audioPlay(...) |
code-confirmed |
只能确认规则层存在音频提醒调用,不代表运行时已验证成功。 |
| 短信发送调用 | 自动处理规则调用 mac.sendMessages(request) |
code-confirmed |
只能确认规则层存在短信发送调用。 |
| 电话 / 外呼触发 | 自动处理规则调用 mac.callOutLogin(params) |
code-confirmed |
只能确认规则层存在外呼触发分支。 |
| 自动派单请求调用 | 自动处理规则请求 repairOrder/initProcess |
code-confirmed |
自动派单请求分支可直接定位。 |
setDisposeLog 成功写入 |
自动处理规则成功分支写 state="成功" |
code-confirmed |
成功路径处置日志写入定义明确存在。 |
setDisposeLog 失败写入 |
自动处理规则失败分支写 state="失败" |
code-confirmed |
失败路径处置日志写入定义明确存在。 |
setDisposeLog 异常写入 |
自动处理规则异常分支写 state="异常" |
code-confirmed |
异常路径处置日志写入定义明确存在。 |
setDisposeLog 未匹配写入 |
自动处理规则未匹配分支写 state="未匹配" |
code-confirmed |
未匹配路径处置日志写入定义明确存在。 |
new_pending_ids 严格产出 |
只在 skill/reference/data-quality 中被要求 | implementation intent exists but not rigorous / buggy |
有明确目标语义,但当前读到的规则资产未直接产出同名字段。 |
| 把下游动作结果等同于采集成功 | skill/reference 明确禁止 | contract-defined |
契约要求把快照成功与副作用成功分离。 |
9. 当前代码疑点 / 不严谨点
- 最明显的已知 bug 是业务监测规则中的待处理分类条件写成
item.status == "00" && item.status == "01"。这会导致pending分桶逻辑不可能按作者意图工作,证据等级:implementation intent exists but not rigorous / buggy。 - packaged collector 与规则资产的输出命名仍不一致:collector 使用
scene、pending_ids、new_pending_ids,规则对象使用type、pendingList,证据等级:code-confirmed。 SKILL.md把new_pending_ids作为输出重点,但当前直接证据更强的是“做日志比较并决定提醒/自动派单”,而不是“显式产出同名字段”,证据等级:implementation intent exists but not rigorous / buggy。scene.draft.json仍在犹豫trigger-alert是否拆成 audio-alert、message-alert、callout 三类动作,说明标准动作建模尚未完全收敛,证据等级:no direct evidence / candidate only。- 虽然规则层存在音频、短信、外呼、自动派单与日志写入定义,但本文不能据此声称这些动作已完成运行时验证,任何这种拔高都不严谨。
10. 对 command-center 标准配置的修订建议
- 对本场景应显式拆分两层实现证据:
packaged_collector:collect_repair_orders.js的 runtime snapshot collector、状态判定、历史比较与 metadata(规则来源、配置基础页角色、已知问题),证据等级:code-confirmed;rule_asset_workflow: 业务监测与自动处理规则资产中的真实流程分支,证据等级:code-confirmed。
- 在标准配置中把业务监测与自动处理拆成两个子流程:
monitoring_flow对应95598抢修-市指_业务检测配置.txt;auto_processing_flow对应95598抢修-市指_自动处理配置.txt。 这样可以避免把两份规则混成单一 collector。
- 输出 schema 建议区分:
canonical_snapshot_fields:pending_ids/new_pending_ids等标准字段;observed_rule_fields:pendingList/type等规则层字段。 当前两套命名并存,证据等级:code-confirmed。
- 对状态分类增加
known_bug_note,明确记录status == "00" && status == "01"的待处理分类 bug,防止后续文档误把 pending 计数写成稳定事实,证据等级:implementation intent exists but not rigorous / buggy。 - 对下游动作增加
effect_channels明细,至少拆出audio-reminder、sms-send、callout-trigger、auto-dispatch-request、dispose-log-write,因为这些都已在规则资产中直接出现,证据等级:code-confirmed。
11. 最终严谨结论
关于 95598-repair-city-dispatch,当前最可靠的结论是:仓库已经同时存在一个可测试的 packaged JS runtime collector,以及两份更强的 desk 规则脚本实现(D:\desk\智能体资料\大四区报告监测项\95598抢修-市指_业务检测配置.txt、D:\desk\智能体资料\大四区报告监测项\95598抢修-市指_自动处理配置.txt),其中 packaged collector 已直接实现 repair-order 分类、monitor/dispose log 比较、new_pending_ids 推导与 success/partial/empty/blocked 状态判定;业务监测规则直接证实了队列采集、日志比较、音频提醒与监测日志写入,自动处理规则直接证实了去重、班组匹配、自动派单请求、短信发送、外呼触发以及 setDisposeLog 在成功 / 失败 / 异常 / 未匹配路径上的写入定义,证据等级:code-confirmed。
但同样必须严格说明:这些 code-confirmed 只证明“代码或规则层存在这些实现分支”,不证明运行时已验证成功。此外,desk 业务监测规则里还存在 status == "00" && status == "01" 的待处理分类 bug,因此 rule workflow 本身也不能被描述为严谨无误。对 command-center 而言,本场景最应该被建模为“packaged collector 已具备输入驱动快照归一化能力、desk rule-asset workflow 证据更强、且监测流与自动处理流必须分开表达”的 monitor scene。