progmune-runtime 3.7.21 → 3.7.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,49 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * init-policy.js — 分资产分级策略模板落地(2026-09-06,docs/TIERED_POLICY.md)
4
+ *
5
+ * 用法:
6
+ * node scripts/init-policy.js --tier 1|2|3 [--dir <目标目录>]
7
+ *
8
+ * 产物:<目标目录>/.progmune-policy.json(模板拷贝)
9
+ * Tier-1 落地即激活写盘策略门(execute 写盘即时验证、BLOCK 回滚)
10
+ */
11
+ const fs = require("fs");
12
+ const path = require("path");
13
+
14
+ const argv = process.argv.slice(2);
15
+ const getArg = (flag) => {
16
+ const i = argv.indexOf("--" + flag);
17
+ return i !== -1 ? argv[i + 1] : undefined;
18
+ };
19
+
20
+ const tier = getArg("tier");
21
+ const targetDir = getArg("dir") || process.cwd();
22
+
23
+ if (!["1", "2", "3"].includes(tier)) {
24
+ console.error("用法: node scripts/init-policy.js --tier 1|2|3 [--dir <目标目录>]");
25
+ console.error(" 1 = 强制(致命资产:鉴权/支付/资源生命周期)——写盘策略门激活");
26
+ console.error(" 2 = 标准(业务逻辑)——violations 阻断,其余 WARN");
27
+ console.error(" 3 = 观察(工具/demo)——只报告不拦截");
28
+ process.exit(1);
29
+ }
30
+
31
+ const template = path.join(__dirname, "..", "templates", `.progmune-policy.tier${tier}.json`);
32
+ if (!fs.existsSync(template)) {
33
+ console.error(`模板不存在: ${template}`);
34
+ process.exit(1);
35
+ }
36
+
37
+ const dest = path.join(targetDir, ".progmune-policy.json");
38
+ if (fs.existsSync(dest)) {
39
+ console.error(`目标已存在策略配置: ${dest}`);
40
+ console.error(`如需更换档位请先删除或修改现有配置(避免静默覆盖)。`);
41
+ process.exit(1);
42
+ }
43
+
44
+ fs.mkdirSync(targetDir, { recursive: true });
45
+ fs.copyFileSync(template, dest);
46
+
47
+ const tierName = { "1": "强制(写盘策略门已激活)", "2": "标准", "3": "观察" }[tier];
48
+ console.log(`✅ Tier-${tier}(${tierName})策略已落地: ${dest}`);
49
+ console.log(` 验证: npx ts-node src/policy/cli.ts check <file>`);
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "Progmune Tier-1(强制)——致命资产:鉴权/支付/资源生命周期",
3
+ "inherit": true,
4
+ "rules": []
5
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "Progmune Tier-2(标准)——业务逻辑/CRUD:violations 阻断,其余 WARN 观察",
3
+ "inherit": true,
4
+ "rules": [
5
+ { "type": "confidence", "severity": "warn" },
6
+ { "type": "human_review", "severity": "warn" },
7
+ { "type": "risk", "severity": "warn" }
8
+ ]
9
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "Progmune Tier-3(观察)——工具/demo/实验:只报告不拦截",
3
+ "inherit": true,
4
+ "rules": [
5
+ { "type": "confidence", "severity": "warn" },
6
+ { "type": "provenance", "severity": "warn" },
7
+ { "type": "human_review", "severity": "warn" },
8
+ { "type": "violations", "severity": "warn" },
9
+ { "type": "risk", "severity": "warn" }
10
+ ]
11
+ }