吸收数字员工高风险缺口安全壳总收口

This commit is contained in:
baiyanyun
2026-06-15 23:33:11 +08:00
parent 3a41eb40d0
commit d0b7223b53
3 changed files with 146 additions and 14 deletions

View File

@@ -3421,6 +3421,88 @@ function checkLocalDatabaseSchema() {
console.log(`[DigitalEmployeeCheck] ${requiredDigitalTables.length} digital tables OK`);
}
function checkDigitalAdminHighRiskClosure() {
console.log("\n[DigitalEmployeeCheck] Verify admin high-risk closure safety shell 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 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 docsPath = path.resolve(packageRoot, "..", "..", "docs", "digital-employee-frontend-integration-plan.md");
const service = fs.readFileSync(servicePath, "utf8");
const test = fs.readFileSync(testPath, "utf8");
const qimingOps = fs.readFileSync(qimingOpsPath, "utf8");
const docs = fs.readFileSync(docsPath, "utf8");
const requiredSnippets = [
[service, "edit_policy_remote_disabled", "backend remote policy edit disabled reason"],
[service, "auto_merge_policy_disabled", "backend auto merge disabled reason"],
[service, "run_schedule_now_disabled", "backend scheduler run disabled reason"],
[service, "hard_interrupt_disabled", "backend hard interrupt disabled reason"],
[service, "high_risk_governance_action_disabled", "backend high risk governance disabled reason"],
[service, "start_service_disabled", "backend service start disabled reason"],
[service, "stop_service_disabled", "backend service stop disabled reason"],
[service, "lease_takeover_disabled", "backend lease takeover disabled reason"],
[service, "auto_recovery_execution_disabled", "backend auto recovery disabled reason"],
[service, "install_action_disabled", "backend skill install disabled reason"],
[service, "upgrade_action_disabled", "backend skill upgrade disabled reason"],
[service, "permission_edit_disabled", "backend permission edit disabled reason"],
[service, "merge_action_disabled", "backend memory merge disabled reason"],
[service, "remote_memory_policy_disabled", "backend remote memory policy disabled reason"],
[service, "batch_cleanup_disabled", "backend batch cleanup disabled reason"],
[service, "real_push_disabled", "backend real push disabled reason"],
[service, "external_send_disabled", "backend external send disabled reason"],
[service, "third_party_channel_disabled", "backend third party send disabled reason"],
[service, "billing_actual_disabled", "backend real billing disabled reason"],
[service, "sandbox_archive_file_disabled", "backend sandbox archive file disabled reason"],
[service, "auto_repair_execution_disabled", "backend auto repair disabled reason"],
[test, "createAdminActionRejectsRemainingHighRiskClosureActions", "backend final high risk closure test"],
[qimingOps, "远程策略编辑禁用", "qiming policy edit guard copy"],
[qimingOps, "高风险执行禁用", "qiming high risk execution guard copy"],
[qimingOps, "批量真实清理禁用", "qiming batch cleanup guard copy"],
[qimingOps, "真实推送禁用", "qiming real push guard copy"],
[qimingOps, "正式外部日报页面禁用", "qiming formal daily report page guard copy"],
[docs, "高风险缺口安全壳总收口已完成", "docs high risk closure completion"],
[docs, "真实高风险执行另开专项", "docs high risk execution separated"],
];
const missing = requiredSnippets
.filter(([content, snippet]) => !content.includes(snippet))
.map(([, , label]) => label);
if (missing.length > 0) {
throw new Error(`Missing admin high-risk closure hooks: ${missing.join(", ")}`);
}
console.log("[DigitalEmployeeCheck] admin high-risk closure safety shell hooks OK");
}
function main() {
try {
runStep("Run digital employee unit tests", "npm", ["run", "test:run", "--", ...testFiles]);
@@ -3466,6 +3548,7 @@ function main() {
checkDigitalAdminDailyReportWorkbench();
checkDigitalAdminGovernanceCommandWorkbench();
checkDigitalAdminServiceSkillMemoryAuditClosure();
checkDigitalAdminHighRiskClosure();
checkLocalDatabaseSchema();
console.log("\n[DigitalEmployeeCheck] All checks passed");
} catch (error) {