101 lines
4.9 KiB
JSON
101 lines
4.9 KiB
JSON
{
|
||
"module": "pbl_runtime_ext",
|
||
"milestone": "M11b-3 / M11b-4",
|
||
"note": "PBL 运行时广播/轮询端点 RBAC 权限种子清单(逐条显式登记,禁止 % / * 通配符)。由 scripts/m11b34_rbac_seed.py 导入 permission/rolepermission,并把 scripts/load_path.py --check 收敛到 rc=0。",
|
||
"default_role": "logined",
|
||
"permissions": [
|
||
{
|
||
"name": "pbl_runtime_event_append",
|
||
"path": "/pbl_runtime_ext/api/pbl_runtime_event_append.dspy",
|
||
"method": "POST",
|
||
"role": "logined",
|
||
"endpoint": "wwwroot/api/pbl_runtime_event_append.dspy",
|
||
"milestone": "M11b-2",
|
||
"title": "运行时事件追加(单事务事件+状态写入)",
|
||
"traceability": "契约 pbl_runtime_event_append → pbl_runtime_ext/api.py::api_pbl_runtime_event_append → scripts/load_path.py PATHS[0]"
|
||
},
|
||
{
|
||
"name": "pbl_runtime_event_poll",
|
||
"path": "/pbl_runtime_ext/api/pbl_runtime_event_poll.dspy",
|
||
"method": "POST",
|
||
"role": "logined",
|
||
"endpoint": "wwwroot/api/pbl_runtime_event_poll.dspy",
|
||
"milestone": "M11b-4",
|
||
"title": "运行时事件 3s 轮询兜底拉取",
|
||
"traceability": "契约 pbl_runtime_event_poll → pbl_runtime_ext/api.py::api_pbl_runtime_event_poll → scripts/load_path.py PATHS[1]"
|
||
},
|
||
{
|
||
"name": "pbl_entity_state_get",
|
||
"path": "/pbl_runtime_ext/api/pbl_entity_state_get.dspy",
|
||
"method": "POST",
|
||
"role": "logined",
|
||
"endpoint": "wwwroot/api/pbl_entity_state_get.dspy",
|
||
"milestone": "M11b-4",
|
||
"title": "实体状态读取(服务端权威 state_version)",
|
||
"traceability": "契约 pbl_entity_state_get → pbl_runtime_ext/api.py::api_pbl_entity_state_get → scripts/load_path.py PATHS[2]"
|
||
},
|
||
{
|
||
"name": "pbl_entity_state_apply",
|
||
"path": "/pbl_runtime_ext/api/pbl_entity_state_apply.dspy",
|
||
"method": "POST",
|
||
"role": "logined",
|
||
"endpoint": "wwwroot/api/pbl_entity_state_apply.dspy",
|
||
"milestone": "M11b-2",
|
||
"title": "实体状态变更申请(客户端禁写 state_version)",
|
||
"traceability": "契约 pbl_entity_state_apply → pbl_runtime_ext/api.py::api_pbl_entity_state_apply → scripts/load_path.py PATHS[3]"
|
||
},
|
||
{
|
||
"name": "pbl_world_broadcast",
|
||
"path": "/pbl_runtime_ext/api/pbl_world_broadcast.dspy",
|
||
"method": "POST",
|
||
"role": "logined",
|
||
"endpoint": "wwwroot/api/pbl_world_broadcast.dspy",
|
||
"milestone": "M11b-3",
|
||
"title": "服务端世界广播(提交后广播 ≤300ms)",
|
||
"traceability": "契约 pbl_world_broadcast → pbl_runtime_ext/api.py::api_pbl_world_broadcast → scripts/load_path.py PATHS[4]"
|
||
},
|
||
{
|
||
"name": "pbl_session_member_add",
|
||
"path": "/pbl_runtime_ext/api/pbl_session_member_add.dspy",
|
||
"method": "POST",
|
||
"role": "logined",
|
||
"endpoint": "wwwroot/api/pbl_session_member_add.dspy",
|
||
"milestone": "M11b-3",
|
||
"title": "会话成员加入(广播订阅名单维护)",
|
||
"traceability": "契约 pbl_session_member_add → pbl_runtime_ext/api.py::api_pbl_session_member_add → scripts/load_path.py PATHS[5]"
|
||
},
|
||
{
|
||
"name": "pbl_runtime_broadcast_pull",
|
||
"path": "/pbl_runtime_ext/api/pbl_runtime_broadcast_pull.dspy",
|
||
"method": "POST",
|
||
"role": "logined",
|
||
"endpoint": "wwwroot/api/pbl_runtime_broadcast_pull.dspy",
|
||
"milestone": "M11b-4",
|
||
"title": "广播增量拉取(3s 轮询兜底)",
|
||
"traceability": "契约 pbl_runtime_broadcast_pull → pbl_runtime_ext/api.py::api_pbl_runtime_broadcast_pull → scripts/load_path.py PATHS[6]"
|
||
},
|
||
{
|
||
"name": "pbl_runtime_broadcast_stats",
|
||
"path": "/pbl_runtime_ext/api/pbl_runtime_broadcast_stats.dspy",
|
||
"method": "POST",
|
||
"role": "logined",
|
||
"endpoint": "wwwroot/api/pbl_runtime_broadcast_stats.dspy",
|
||
"milestone": "M11b-4",
|
||
"title": "广播时延统计(裁决/广播/端到端指标)",
|
||
"traceability": "契约 pbl_runtime_broadcast_stats → pbl_runtime_ext/api.py::api_pbl_runtime_broadcast_stats → scripts/load_path.py PATHS[7]"
|
||
}
|
||
],
|
||
"role_grants": {
|
||
"logined": [
|
||
"pbl_runtime_event_append",
|
||
"pbl_runtime_event_poll",
|
||
"pbl_entity_state_get",
|
||
"pbl_entity_state_apply",
|
||
"pbl_world_broadcast",
|
||
"pbl_session_member_add",
|
||
"pbl_runtime_broadcast_pull",
|
||
"pbl_runtime_broadcast_stats"
|
||
]
|
||
}
|
||
}
|