pbl_runtime_ext/init/rbac_seed.json

101 lines
4.9 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"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"
]
}
}