deliver: 交付收口(引擎代为提交)

This commit is contained in:
agent.develop 2026-09-19 08:39:44 +08:00
parent eb18a7d3d4
commit 4051e9d17f

View File

@ -1,183 +1,218 @@
{ {
"summary": [ "summary": [
{ {
"name": "pbl_game_definition", "name": "pbl_game_definition",
"title": "Game Definition(第9章 schema + 指纹)", "title": "Game Definition(第9章 schema + 指纹)",
"comment": "Game Definition(第9章 schema + 指纹)", "primary": ["id"],
"primary": ["id"], "catelog": "entity"
"catelog": "entity", }
"module": "pbl_compiler", ],
"engine": "mariadb", "fields": [
"charset": "utf8mb4", {
"tenant_scoped": true "name": "id",
} "title": "主键ID",
], "type": "str",
"fields": [ "length": 32,
{ "nullable": "no"
"name": "tenant_id", },
"title": "租户ID(强制打头)", {
"type": "str", "name": "tenant_id",
"length": 32, "title": "租户ID",
"nullable": "no" "type": "str",
}, "length": 32,
{ "nullable": "no",
"name": "id", "default": "0"
"title": "主键ID", },
"type": "str", {
"length": 32, "name": "blueprint_id",
"nullable": "no" "title": "蓝图ID",
}, "type": "str",
{ "length": 32,
"name": "blueprint_id", "nullable": "no"
"title": "来源蓝图", },
"type": "str", {
"length": 32, "name": "blueprint_version_no",
"nullable": "no", "title": "蓝图版本号",
"default": "" "type": "int",
}, "nullable": "no",
{ "default": "0"
"name": "blueprint_version_no", },
"title": "蓝图版本", {
"type": "int", "name": "compiler_version_id",
"nullable": "no", "title": "编译器版本ID",
"default": "1" "type": "str",
}, "length": 32,
{ "nullable": "no"
"name": "compiler_version_id", },
"title": "编译版本", {
"type": "str", "name": "content_fingerprint",
"length": 32, "title": "内容指纹(29.6 确定性:同输入必同值)",
"nullable": "no", "type": "str",
"default": "" "length": 64,
}, "nullable": "no"
{ },
"name": "content_fingerprint", {
"title": "SHA-256 指纹(64 位 hexdigest,唯一约束 uk_gd_fp 成员)", "name": "definition_json",
"type": "str", "title": "Game Definition 正文(10 顶层键)",
"length": 64, "type": "text",
"nullable": "no", "nullable": "no"
"default": "" },
}, {
{ "name": "rules_json",
"name": "definition_json", "title": "script_engine 规则映射产物(第12章 ECR→script_type=1,canonical JSON)",
"title": "Game Definition 正文", "type": "text",
"type": "text", "nullable": "yes"
"nullable": "yes" },
}, {
{ "name": "rules_hash",
"name": "world_id", "title": "规则集合指纹(canonical_rules_json 的 sha256)",
"title": "落库 world", "type": "str",
"type": "str", "length": 64,
"length": 32, "nullable": "yes"
"nullable": "no", },
"default": "" {
}, "name": "rule_count",
{ "title": "规则条数",
"name": "scene_id", "type": "int",
"title": "落库 scene", "nullable": "yes",
"type": "str", "default": "0"
"length": 32, },
"nullable": "no", {
"default": "" "name": "rules_manifest",
}, "title": "规则溯源清单(ECR 来源→规则ID 映射,JSON)",
{ "type": "text",
"name": "entity_count", "nullable": "yes"
"title": "实体数", },
"type": "int", {
"nullable": "yes", "name": "world_id",
"default": "0" "title": "世界ID",
}, "type": "str",
{ "length": 32,
"name": "event_count", "nullable": "yes"
"title": "事件数", },
"type": "int", {
"nullable": "yes", "name": "scene_id",
"default": "0" "title": "场景ID",
}, "type": "str",
{ "length": 32,
"name": "rules_json", "nullable": "yes"
"title": "规则产物JSON(script_type=1规则数组,确定性序列化)", },
"type": "text", {
"nullable": "yes" "name": "compile_status",
}, "title": "编译结果状态",
{ "type": "str",
"name": "rules_hash", "length": 32,
"title": "规则产物指纹(sha256,确定性)", "nullable": "yes",
"type": "str", "default": "pending"
"length": 64, },
"nullable": "yes", {
"default": "" "name": "quality_state",
}, "title": "编译时质量状态",
{ "type": "str",
"name": "rule_count", "length": 64,
"title": "规则条数", "nullable": "yes"
"type": "int", },
"nullable": "yes", {
"default": "0" "name": "duration_ms",
}, "title": "编译耗时(毫秒)",
{ "type": "long",
"name": "rules_manifest", "nullable": "yes",
"title": "规则清单JSON(rule_id/event_type/content_hash)", "default": "0"
"type": "text", },
"nullable": "yes" {
}, "name": "error_message",
{ "title": "失败原因(编译/规则映射异常摘要)",
"name": "quality_state", "type": "text",
"title": "编译时质量状态", "nullable": "yes"
"type": "str", },
"length": 64, {
"nullable": "yes", "name": "created_by",
"default": "" "title": "创建人",
}, "type": "str",
{ "length": 32,
"name": "duration_ms", "nullable": "yes"
"title": "耗时", },
"type": "int", {
"nullable": "yes", "name": "created_at",
"default": "0" "title": "创建时间",
}, "type": "timestamp",
{ "nullable": "no"
"name": "created_by", },
"title": "创建人", {
"type": "str", "name": "updated_by",
"length": 32, "title": "更新人",
"nullable": "yes", "type": "str",
"default": "" "length": 32,
}, "nullable": "yes"
{ },
"name": "created_at", {
"title": "创建时间", "name": "updated_at",
"type": "datetime", "title": "更新时间",
"nullable": "yes" "type": "timestamp",
}, "nullable": "yes"
{ },
"name": "updated_at", {
"title": "更新时间", "name": "is_deleted",
"type": "datetime", "title": "删除标记",
"nullable": "yes" "type": "char",
} "length": 1,
], "nullable": "no",
"indexes": [ "default": "0"
{ }
"name": "PRIMARY", ],
"idxtype": "unique", "indexes": [
"idxfields": ["id"] {
}, "name": "PRIMARY",
{ "idxtype": "unique",
"name": "uk_gd_fp", "idxfields": ["id"]
"idxtype": "unique", },
"idxfields": ["tenant_id", "content_fingerprint"] {
}, "name": "uk_gd_fp",
{ "idxtype": "unique",
"name": "idx_gd_bp", "idxfields": ["tenant_id", "content_fingerprint"]
"idxtype": "index", },
"idxfields": ["tenant_id", "blueprint_id"] {
}, "name": "idx_gd_bp",
{ "idxtype": "index",
"name": "idx_gd_rules_hash", "idxfields": ["tenant_id", "blueprint_id", "blueprint_version_no"]
"idxtype": "index", },
"idxfields": ["tenant_id", "rules_hash"] {
} "name": "idx_gd_rules_hash",
], "idxtype": "index",
"codes": [] "idxfields": ["rules_hash"]
},
{
"name": "idx_gd_quality_state",
"idxtype": "index",
"idxfields": ["quality_state"]
}
],
"codes": [
{
"field": "quality_state",
"table": "appcodes_kv",
"valuefield": "k",
"textfield": "v",
"cond": "parentid='pbl_quality_state'"
},
{
"field": "compile_status",
"table": "appcodes_kv",
"valuefield": "k",
"textfield": "v",
"cond": "parentid='pbl_compile_status'"
},
{
"field": "blueprint_id",
"table": "pbl_blueprint",
"valuefield": "id",
"textfield": "blueprint_name"
},
{
"field": "compiler_version_id",
"table": "pbl_compiler_version",
"valuefield": "id",
"textfield": "version_name"
}
]
} }