docs(通道流量阈值): AUG26-011 归档变更并同步 carrier-channel-traffic-threshold 与 package-lifecycle 主 Spec 及证据链
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 1m48s

This commit is contained in:
2026-09-16 17:33:11 +08:00
parent 33826c3443
commit e7b93e4634
10 changed files with 141 additions and 11 deletions

View File

@@ -529,7 +529,8 @@
"entry": "GET /api/admin/carriers",
"capability": "external-integration",
"requirements": [
"identity-access::数据范围拒绝"
"identity-access::数据范围拒绝",
"carrier-channel-traffic-threshold::通道阈值配置、权限与审计"
],
"classification": "behavior"
},
@@ -538,7 +539,8 @@
"entry": "GET /api/admin/carriers/{id}",
"capability": "external-integration",
"requirements": [
"identity-access::数据范围拒绝"
"identity-access::数据范围拒绝",
"carrier-channel-traffic-threshold::通道阈值配置、权限与审计"
],
"classification": "behavior"
},
@@ -1865,7 +1867,8 @@
"entry": "POST /api/admin/carriers",
"capability": "external-integration",
"requirements": [
"identity-access::数据范围拒绝"
"identity-access::数据范围拒绝",
"carrier-channel-traffic-threshold::通道阈值配置、权限与审计"
],
"classification": "behavior"
},
@@ -2933,7 +2936,8 @@
"entry": "PUT /api/admin/carriers/{id}",
"capability": "external-integration",
"requirements": [
"identity-access::数据范围拒绝"
"identity-access::数据范围拒绝",
"carrier-channel-traffic-threshold::通道阈值配置、权限与审计"
],
"classification": "behavior"
},
@@ -4358,14 +4362,18 @@
"entry_type": "async",
"entry": "constants.TaskTypeCarrierThresholdCycle",
"capability": "carrier-channel-traffic-threshold",
"requirements": [],
"classification": "route_index_or_infrastructure"
"requirements": [
"carrier-channel-traffic-threshold::通道阈值停机与周期恢复"
],
"classification": "behavior"
},
{
"entry_type": "async",
"entry": "constants.TaskTypeCarrierThresholdRecovery",
"capability": "carrier-channel-traffic-threshold",
"requirements": [],
"classification": "route_index_or_infrastructure"
"requirements": [
"carrier-channel-traffic-threshold::通道阈值停机与周期恢复"
],
"classification": "behavior"
}
]

View File

@@ -4119,5 +4119,78 @@
"internal/infrastructure/packagetrafficalert/scanner.go: 不读取虚流量、展示量、卡级累计或运营商通道累计"
]
}
},
{
"capability": "carrier-channel-traffic-threshold",
"requirement": "通道阈值配置、权限与审计",
"spec": "openspec/specs/carrier-channel-traffic-threshold/spec.md",
"entries": [
"POST /api/admin/carriers",
"PUT /api/admin/carriers/{id}",
"GET /api/admin/carriers",
"GET /api/admin/carriers/{id}"
],
"handler_consumer_job": [
"internal/handler/admin/carrier.go",
"internal/routes/carrier.go"
],
"application_service_query": [
"internal/service/carrier/service.go"
],
"domain_state_amount": [
"internal/domain/carrierthreshold/threshold.go"
],
"store_migration_config": [
"migrations/000227_add_carrier_traffic_threshold.up.sql",
"internal/model/carrier.go"
],
"verification": {
"command": "隔离库 junhong_cmp_test 验证平台账号可配置阈值、非平台账号写入被拒且读不到字段、阈值启停并入 carrier 更新审计前后值",
"literal_output": [
"internal/service/carrier/service.go: 非平台账号提交包含阈值字段的请求返回平台管理权限错误并写 result=denied 审计,不产生审计成功事实",
"internal/service/carrier/service.go: 阈值数值必须为正、单位仅 MB/GB、启用必须齐备非法或半配置返回参数错误",
"migrations/000227_add_carrier_traffic_threshold.up.sql: ck_carrier_traffic_threshold_config 兜底拒绝非 0/1 启停取值、非正数值与未知单位23514",
"隔离库实测2 GB 阈值按 1 GB = 1024 MB 换算生效carrier 更新审计前后值包含 traffic_threshold_enabled/value/unit"
]
}
},
{
"capability": "carrier-channel-traffic-threshold",
"requirement": "通道阈值停机与周期恢复",
"spec": "openspec/specs/carrier-channel-traffic-threshold/spec.md",
"entries": [
"constants.TaskTypeCarrierThresholdCycle",
"constants.TaskTypeCarrierThresholdRecovery"
],
"handler_consumer_job": [
"internal/infrastructure/carrierthreshold/task.go",
"internal/application/carrierthreshold/event.go"
],
"application_service_query": [
"internal/application/carrierthreshold/evaluate.go",
"internal/application/carrierthreshold/cycle.go",
"internal/application/carrierthreshold/execute.go",
"internal/application/carrierthreshold/lock_store.go",
"internal/service/iot_card/channel_threshold.go"
],
"domain_state_amount": [
"internal/domain/carrierthreshold/period.go",
"internal/domain/carrierthreshold/lock.go",
"pkg/constants/iot.go"
],
"store_migration_config": [
"migrations/000227_add_carrier_traffic_threshold.up.sql",
"internal/model/carrier_traffic_threshold_lock.go"
],
"verification": {
"command": "隔离库 junhong_cmp_test 验证达量判定、同周期幂等、四入口持锁拒绝、失败与未知结果的恢复扫描与超期转人工、新周期解锁与条件复机",
"literal_output": [
"internal/application/carrierthreshold/evaluate.go: 仅使用网关累计读数换算比较,达到或超过阈值即写周期锁并同事务写停机事件,唯一键冲突精确识别为该周期已处理",
"internal/application/carrierthreshold/cycle.go: 周期处理按锁行自身运营商的上游流量重置日判断过期并条件更新认领解锁,不可判定周期归属的锁行解锁并标记异常转人工",
"internal/service/iot_card/stop_resume_service.go: 四个复机入口在持锁时拒绝并写 result=denied 审计,锁保留",
"隔离库实测读数达到阈值触发且同周期重复观测仅一条锁与一条事件unknown/failed 由恢复扫描收敛或超窗口转 anomaly新周期条件满足才复机",
"验证口径:停复机执行的运营商回执以本机 stub 端点驱动,真实运营商成功回执路径未端到端验证"
]
}
}
]