fix: trust green M3 status wiring

This commit is contained in:
Code Queue Review
2026-05-23 10:36:33 +00:00
parent 26a1cf9b6a
commit a0fbd8cdfa
11 changed files with 444 additions and 23 deletions
+14
View File
@@ -24,6 +24,7 @@ const requiredFiles = [
"live-status.mjs",
"gate-summary.mjs",
"runtime.mjs",
"wiring-status.mjs",
"workbench-hardware-panel.mjs",
"help.md",
"third_party/marked/marked.esm.js",
@@ -41,6 +42,7 @@ const html = fs.readFileSync(path.resolve(rootDir, "index.html"), "utf8");
const styles = fs.readFileSync(path.resolve(rootDir, "styles.css"), "utf8");
const app = fs.readFileSync(path.resolve(rootDir, "app.mjs"), "utf8");
const liveStatus = fs.readFileSync(path.resolve(rootDir, "live-status.mjs"), "utf8");
const wiringStatus = fs.readFileSync(path.resolve(rootDir, "wiring-status.mjs"), "utf8");
const helpMarkdown = fs.readFileSync(path.resolve(rootDir, "help.md"), "utf8");
const buildScript = fs.readFileSync(path.resolve(rootDir, "scripts/build.mjs"), "utf8");
const distContractScript = fs.readFileSync(path.resolve(rootDir, "scripts/dist-contract.mjs"), "utf8");
@@ -199,6 +201,18 @@ assert.match(html, /M3 实况状态/);
assert.match(html, /硬件状态工作区/);
assert.match(html, /id="hardware-source-status"/);
assert.match(app, /function renderHardwareStatus/);
assert.match(app, /wiringPresentationFromSummary/);
assert.match(wiringStatus, /function wiringPresentationFromSummary/);
assert.match(wiringStatus, /function trustedM3StatusEvidenceFrom/);
assert.match(functionBody(wiringStatus, "trustedM3StatusEvidenceFrom"), /contractVersion !== "m3-status-v1"/);
assert.match(functionBody(wiringStatus, "trustedM3StatusEvidenceFrom"), /sourceKind !== "DEV-LIVE"/);
assert.match(functionBody(wiringStatus, "trustedM3StatusEvidenceFrom"), /trust\.durableStatus !== "green"/);
assert.match(functionBody(wiringStatus, "trustedM3StatusEvidenceFrom"), /trust\.blocker != null/);
assert.match(functionBody(wiringStatus, "trustedM3StatusEvidenceFrom"), /LIVE_M3_ID_FIELDS\.every/);
assert.match(functionBody(wiringStatus, "wiringPresentationFromSummary"), /接线实况 \/ 持久化受阻/);
assert.match(functionBody(wiringStatus, "wiringPresentationFromSummary"), /durableStatus !== "green"/);
assert.match(functionBody(wiringStatus, "wiringPresentationFromSummary"), /blockedTrust != null/);
assert.match(functionBody(wiringStatus, "wiringPresentationFromSummary"), /\/v1\/m3\/status 聚合 \/ 实况可信记录/);
assert.match(app, /function initHardwareTabs/);
assert.match(app, /function hardwareKvGroup/);
assert.match(app, /function sourceFallbackM3Status/);
@@ -12,6 +12,7 @@ export const cloudWebDistRuntimeFiles = Object.freeze([
"live-status.mjs",
"gate-summary.mjs",
"runtime.mjs",
"wiring-status.mjs",
"workbench-hardware-panel.mjs",
"help.md",
"third_party/marked/marked.esm.js",