Skip to content

Commit 6dc6834

Browse files
author
Oxy
committed
openclaw-edgemesh: strengthen AAHP readiness check with route/security assertions
1 parent 2e4557e commit 6dc6834

1 file changed

Lines changed: 26 additions & 6 deletions

File tree

scripts/aahp-check.mjs

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,7 @@ if (missing.length > 0) {
2727
}
2828

2929
const roadmap = fs.readFileSync(path.join(root, "docs/PHASE2_ROADMAP.md"), "utf8");
30-
const mustContain = [
31-
"mandatory security",
32-
"release gate",
33-
"observability",
34-
"failure drills"
35-
];
30+
const mustContain = ["mandatory security", "release gate", "observability", "failure drills"];
3631

3732
const missingPhrases = mustContain.filter((p) => !roadmap.toLowerCase().includes(p));
3833
if (missingPhrases.length > 0) {
@@ -41,4 +36,29 @@ if (missingPhrases.length > 0) {
4136
process.exit(1);
4237
}
4338

39+
const controlPlane = fs.readFileSync(path.join(root, "src/control-plane.ts"), "utf8");
40+
const requiredRoutes = [
41+
'/v1/auth/job-token',
42+
'/v1/tasks',
43+
'/v1/observability/queue-depth',
44+
'/v1/observability/node-health-timeline',
45+
'/v1/runs/summary'
46+
];
47+
48+
const missingRoutes = requiredRoutes.filter((r) => !controlPlane.includes(r));
49+
if (missingRoutes.length > 0) {
50+
console.error("AAHP check: FAIL");
51+
for (const r of missingRoutes) console.error(`- missing route: ${r}`);
52+
process.exit(1);
53+
}
54+
55+
const securitySource = fs.readFileSync(path.join(root, "src/security.ts"), "utf8");
56+
const requiredSecurityMarkers = ["token_replay", "token_expired", "bootstrapSecret"];
57+
const missingSecurityMarkers = requiredSecurityMarkers.filter((m) => !securitySource.includes(m));
58+
if (missingSecurityMarkers.length > 0) {
59+
console.error("AAHP check: FAIL");
60+
for (const m of missingSecurityMarkers) console.error(`- missing security marker: ${m}`);
61+
process.exit(1);
62+
}
63+
4464
console.log("AAHP check: PASS");

0 commit comments

Comments
 (0)