吸收数字员工管理端治理策略版本预览

This commit is contained in:
baiyanyun
2026-06-15 14:01:10 +08:00
parent ff7576f33d
commit fd3b149172
7 changed files with 371 additions and 4 deletions

View File

@@ -1969,6 +1969,104 @@ function checkDigitalAdminPlanGovernanceWorkbenches() {
console.log("[DigitalEmployeeCheck] admin plan governance and revision hooks OK");
}
function checkDigitalAdminGovernancePolicyRevisionMaterialization() {
console.log("\n[DigitalEmployeeCheck] Verify admin governance policy and revision materialization hooks");
const backendRoot = path.resolve(packageRoot, "..", "..", "..", "qiming-backend");
const qimingRoot = path.resolve(packageRoot, "..", "..", "..", "qiming");
const servicePath = path.join(
backendRoot,
"app-platform-modules",
"app-platform-agent",
"app-platform-agent-core-application",
"src",
"main",
"java",
"com",
"xspaceagi",
"agent",
"core",
"application",
"service",
"DigitalEmployeeSyncApplicationServiceImpl.java",
);
const dtoPath = path.join(
backendRoot,
"app-platform-modules",
"app-platform-agent",
"app-platform-agent-core-adapter",
"src",
"main",
"java",
"com",
"xspaceagi",
"agent",
"core",
"adapter",
"dto",
"digital",
"DigitalEmployeeAdminWorkbenchRowDto.java",
);
const testPath = path.join(
backendRoot,
"app-platform-modules",
"app-platform-agent",
"app-platform-agent-core-application",
"src",
"test",
"java",
"com",
"xspaceagi",
"agent",
"core",
"application",
"service",
"DigitalEmployeeSyncApplicationServiceImplTest.java",
);
const qimingOpsPath = path.join(qimingRoot, "src", "pages", "SystemManagement", "Content", "DigitalEmployeeOps", "index.tsx");
const qimingTypesPath = path.join(qimingRoot, "src", "types", "interfaces", "systemManage.ts");
const docsPath = path.resolve(packageRoot, "..", "..", "docs", "digital-employee-frontend-integration-plan.md");
const service = fs.readFileSync(servicePath, "utf8");
const dto = fs.readFileSync(dtoPath, "utf8");
const test = fs.readFileSync(testPath, "utf8");
const qimingOps = fs.readFileSync(qimingOpsPath, "utf8");
const qimingTypes = fs.readFileSync(qimingTypesPath, "utf8");
const docs = fs.readFileSync(docsPath, "utf8");
const requiredSnippets = [
[service, "governance_policies", "backend governance policies view"],
[service, "plan_revision_materialization", "backend plan revision materialization view"],
[service, "isGovernancePolicyRow", "backend governance policy matcher"],
[service, "isPlanRevisionMaterializationRow", "backend revision materialization matcher"],
[service, "governance_policy:pull_policy", "backend governance policy pull action"],
[service, "hard_interrupt_disabled", "backend hard interrupt disabled reason"],
[dto, "governance_policy_id", "backend governance policy id field"],
[dto, "policy_guard_status", "backend policy guard status field"],
[dto, "revision_fact_id", "backend revision fact id field"],
[dto, "revision_materialized", "backend revision materialized field"],
[dto, "changed_fields", "backend changed fields row field"],
[test, "queryAdminWorkbenchGovernancePoliciesReturnsPolicyRowsOnly", "backend governance policies test"],
[test, "queryAdminWorkbenchPlanRevisionMaterializationReturnsRevisionRowsOnly", "backend revision materialization test"],
[test, "createAdminActionAllowsGovernancePolicyRevisionLowRiskActions", "backend low risk action test"],
[qimingTypes, "governance_policies", "qiming governance policies view type"],
[qimingTypes, "plan_revision_materialization", "qiming revision materialization view type"],
[qimingTypes, "governance_policy_id", "qiming governance policy id field"],
[qimingTypes, "revision_fact_id", "qiming revision fact id field"],
[qimingOps, "治理策略", "qiming governance policies tab"],
[qimingOps, "版本物化", "qiming revision materialization tab"],
[qimingOps, "策略保护", "qiming policy guard copy"],
[qimingOps, "版本事实来源", "qiming revision fact source copy"],
[qimingOps, "不开放 ACP 硬中断", "qiming ACP hard interrupt guard copy"],
[docs, "正式管理端治理策略预览", "docs governance policy absorption"],
[docs, "计划版本物化预览", "docs revision materialization absorption"],
];
const missing = requiredSnippets
.filter(([content, snippet]) => !content.includes(snippet))
.map(([, , label]) => label);
if (missing.length > 0) {
throw new Error(`Missing admin governance policy and revision materialization hooks: ${missing.join(", ")}`);
}
console.log("[DigitalEmployeeCheck] admin governance policy and revision materialization hooks OK");
}
function checkDigitalAdminPlanStepDispatchWorkbench() {
console.log("\n[DigitalEmployeeCheck] Verify admin plan step dispatch workbench hooks");
const backendRoot = path.resolve(packageRoot, "..", "..", "..", "qiming-backend");
@@ -3020,6 +3118,7 @@ function main() {
checkDigitalAdminMemorySkillWorkbench();
checkDigitalAdminPolicySchedulerWorkbenches();
checkDigitalAdminPlanGovernanceWorkbenches();
checkDigitalAdminGovernancePolicyRevisionMaterialization();
checkDigitalAdminPlanStepDispatchWorkbench();
checkDigitalAdminCollaborationOperationsClosure();
checkDigitalAdminServiceOperationsWorkbench();