fix: SLOW threshold screens-health-check 3000→8000ms (458 lent→up)
@@ -86,7 +86,7 @@ def main():
|
||||
# 8. OLLAMA
|
||||
log("8. Ollama")
|
||||
try:
|
||||
r = urllib.request.urlopen("http://127.0.0.1:11435/api/tags", timeout=5).read()
|
||||
r = urllib.request.urlopen("http://127.0.0.1:11434/api/tags", timeout=5).read()
|
||||
d = json.loads(r)
|
||||
models = [m.get("name", "?") for m in d.get("models", [])]
|
||||
report["sections"]["ollama"] = {"count": len(models), "models": models}
|
||||
|
||||
294
alive-state.json
@@ -35,11 +35,6 @@
|
||||
"size": 1683,
|
||||
"rc": 0
|
||||
},
|
||||
"agents-enterprise.html": {
|
||||
"hash": "ba347367c6a2b71cdbfef448a2e0d94b",
|
||||
"size": 1683,
|
||||
"rc": 0
|
||||
},
|
||||
"agents-final.html": {
|
||||
"hash": "ba347367c6a2b71cdbfef448a2e0d94b",
|
||||
"size": 1683,
|
||||
@@ -66,8 +61,8 @@
|
||||
"rc": 0
|
||||
},
|
||||
"agents-hub.html": {
|
||||
"hash": "4f69fb4fb2e1f8b29b1d7eb5e930569d",
|
||||
"size": 8078,
|
||||
"hash": "4dcf1fd65fdb5a7b268d48177a8aa56e",
|
||||
"size": 9259,
|
||||
"rc": 0
|
||||
},
|
||||
"agents-ia.html": {
|
||||
@@ -80,11 +75,6 @@
|
||||
"size": 1683,
|
||||
"rc": 0
|
||||
},
|
||||
"agents-sim.html": {
|
||||
"hash": "ba347367c6a2b71cdbfef448a2e0d94b",
|
||||
"size": 1683,
|
||||
"rc": 0
|
||||
},
|
||||
"agents-valuechain.html": {
|
||||
"hash": "ba347367c6a2b71cdbfef448a2e0d94b",
|
||||
"size": 1683,
|
||||
@@ -96,18 +86,23 @@
|
||||
"rc": 0
|
||||
},
|
||||
"ai-hub.html": {
|
||||
"hash": "ec8f4d7dea62926ea6875f2d6feb213a",
|
||||
"size": 16217,
|
||||
"hash": "49b77b9f7ba002b0d7ecc4aa61923a66",
|
||||
"size": 17398,
|
||||
"rc": 0
|
||||
},
|
||||
"all-screens-live.html": {
|
||||
"hash": "2319d54fe3f6ea3d7149c510f6c859a4",
|
||||
"size": 72,
|
||||
"rc": 0
|
||||
},
|
||||
"anthropic-hub.html": {
|
||||
"hash": "b86d66b991ba75e27d0b86024f741e5f",
|
||||
"size": 5046,
|
||||
"hash": "0869f32385d0eeaccafeb6f564963adb",
|
||||
"size": 6227,
|
||||
"rc": 0
|
||||
},
|
||||
"api-key-hub.html": {
|
||||
"hash": "b05bd5f9d71bb17d01763a8543bd96e1",
|
||||
"size": 10766,
|
||||
"hash": "279c15cd4fc22417460947c45e6a72e4",
|
||||
"size": 12517,
|
||||
"rc": 0
|
||||
},
|
||||
"apps.html": {
|
||||
@@ -116,18 +111,18 @@
|
||||
"rc": 0
|
||||
},
|
||||
"architecture-live.html": {
|
||||
"hash": "9215461d8584f29f187c48a0034a5caa",
|
||||
"size": 30547,
|
||||
"hash": "99ab6430164b527597a71c4d35295bf4",
|
||||
"size": 32116,
|
||||
"rc": 0
|
||||
},
|
||||
"architecture-map.html": {
|
||||
"hash": "386bd319d28f44fbb669b8966912c50c",
|
||||
"size": 29864,
|
||||
"hash": "4b1e2901762da199343f285ac4dca1da",
|
||||
"size": 31488,
|
||||
"rc": 0
|
||||
},
|
||||
"architecture.html": {
|
||||
"hash": "8130d594ce1261702f741c5f3c5630da",
|
||||
"size": 50281,
|
||||
"hash": "164c191ef6b78efa63e5d1024f5d3115",
|
||||
"size": 51850,
|
||||
"rc": 0
|
||||
},
|
||||
"arsenal-login.html": {
|
||||
@@ -136,13 +131,13 @@
|
||||
"rc": 0
|
||||
},
|
||||
"arsenal-offline.html": {
|
||||
"hash": "47ddc96340978c461f6dc3a430074e0e",
|
||||
"size": 2834,
|
||||
"hash": "5ebc4d5ed1eed4a09d13343c7ce03a68",
|
||||
"size": 3064,
|
||||
"rc": 0
|
||||
},
|
||||
"avatar-picker.html": {
|
||||
"hash": "c03e2df2061e0287ce5a877e7150ffa7",
|
||||
"size": 11372,
|
||||
"hash": "46c3d1588774e0acc98151eacba07f7f",
|
||||
"size": 11373,
|
||||
"rc": 0
|
||||
},
|
||||
"blade-ai.html": {
|
||||
@@ -156,8 +151,8 @@
|
||||
"rc": 0
|
||||
},
|
||||
"blade-hub.html": {
|
||||
"hash": "1b38cdb8b7bde44315b59d5803d79ef2",
|
||||
"size": 7687,
|
||||
"hash": "e335e362677bab375b542f78c1362ead",
|
||||
"size": 8868,
|
||||
"rc": 0
|
||||
},
|
||||
"blade-install.html": {
|
||||
@@ -170,6 +165,26 @@
|
||||
"size": 9404,
|
||||
"rc": 0
|
||||
},
|
||||
"bpmn-studio-NEW.html": {
|
||||
"hash": "48e75b361f08e381209a1ff135ba0039",
|
||||
"size": 6014,
|
||||
"rc": 0
|
||||
},
|
||||
"bpmn-studio-live.html": {
|
||||
"hash": "1b3f2c76bb26756867b8d4a9c9d7ce13",
|
||||
"size": 7435,
|
||||
"rc": 0
|
||||
},
|
||||
"brain-center-tenant.html": {
|
||||
"hash": "c38e7cddcf6ad902998057409c82c599",
|
||||
"size": 5110,
|
||||
"rc": 0
|
||||
},
|
||||
"cartographie-screens.html": {
|
||||
"hash": "69403aed908729e5bf67bf6900a567a4",
|
||||
"size": 257963,
|
||||
"rc": 0
|
||||
},
|
||||
"case-studies.html": {
|
||||
"hash": "7d79d100397dc2be089e856dc225e711",
|
||||
"size": 13265,
|
||||
@@ -196,8 +211,8 @@
|
||||
"rc": 0
|
||||
},
|
||||
"cloudflare-hub.html": {
|
||||
"hash": "332540e5d20bdf8dcc2f4efaada540b8",
|
||||
"size": 13984,
|
||||
"hash": "f1bde004a98f39ca478be9e50f078f27",
|
||||
"size": 15165,
|
||||
"rc": 0
|
||||
},
|
||||
"command-center.html": {
|
||||
@@ -206,8 +221,8 @@
|
||||
"rc": 0
|
||||
},
|
||||
"crm.html": {
|
||||
"hash": "21b44cbb9dfc117111e35ad01114095f",
|
||||
"size": 20449,
|
||||
"hash": "0533ee879d80a8166217cf88e6563e67",
|
||||
"size": 20460,
|
||||
"rc": 0
|
||||
},
|
||||
"cron-control.html": {
|
||||
@@ -231,18 +246,18 @@
|
||||
"rc": 0
|
||||
},
|
||||
"deepseek-hub.html": {
|
||||
"hash": "7887156513bd65ff1ec8372086d243d3",
|
||||
"size": 5224,
|
||||
"hash": "99b9266f6d291ebc9a43844e28fecd16",
|
||||
"size": 6405,
|
||||
"rc": 0
|
||||
},
|
||||
"deepseek.html": {
|
||||
"hash": "0d3ceecd4ea0d556ef576ab2d52c081b",
|
||||
"size": 60881,
|
||||
"hash": "199d68f8f46299dbc96efb479b18df5a",
|
||||
"size": 63142,
|
||||
"rc": 0
|
||||
},
|
||||
"deerflow-hub.html": {
|
||||
"hash": "eb98b5bd8c5d864ac93468cd1bc49570",
|
||||
"size": 3192,
|
||||
"hash": "fe20ef22d6cc884a62806d22a8b95e6b",
|
||||
"size": 4373,
|
||||
"rc": 0
|
||||
},
|
||||
"director-center.html": {
|
||||
@@ -255,19 +270,24 @@
|
||||
"size": 1683,
|
||||
"rc": 0
|
||||
},
|
||||
"director-test.html": {
|
||||
"hash": "4ff3e266eda08141fa7eab3d317173e3",
|
||||
"size": 3987,
|
||||
"rc": 0
|
||||
},
|
||||
"director.html": {
|
||||
"hash": "ba347367c6a2b71cdbfef448a2e0d94b",
|
||||
"size": 1683,
|
||||
"rc": 0
|
||||
},
|
||||
"dmaic-tracker-NEW.html": {
|
||||
"hash": "90f6890a19e566ce7bf4e0bc5571a92e",
|
||||
"size": 5626,
|
||||
"rc": 0
|
||||
},
|
||||
"dmaic-workbench.html": {
|
||||
"hash": "b34e0e4a39bc8b1c0e158594a6a4ad71",
|
||||
"size": 6798,
|
||||
"rc": 0
|
||||
},
|
||||
"docker-hub.html": {
|
||||
"hash": "6f7a7cb8f816a54c5bb060f18b29f04f",
|
||||
"size": 3217,
|
||||
"hash": "5982dbd337bb1d0e21db4a7ab7e65662",
|
||||
"size": 4398,
|
||||
"rc": 0
|
||||
},
|
||||
"droid-terminal-hidden.html": {
|
||||
@@ -286,8 +306,8 @@
|
||||
"rc": 0
|
||||
},
|
||||
"email-hub.html": {
|
||||
"hash": "90f178d5ea60fc935d6c562dee25d12d",
|
||||
"size": 13801,
|
||||
"hash": "230987a152258b48c2dfdc5bff79ad15",
|
||||
"size": 14982,
|
||||
"rc": 0
|
||||
},
|
||||
"enterprise-management.html": {
|
||||
@@ -296,18 +316,13 @@
|
||||
"rc": 0
|
||||
},
|
||||
"enterprise-model.html": {
|
||||
"hash": "0d02c0818dd3ad04893eb93536a063aa",
|
||||
"size": 175998,
|
||||
"hash": "e476ab9493129db775da7fdb3a879d16",
|
||||
"size": 176886,
|
||||
"rc": 0
|
||||
},
|
||||
"ethica-chatbot.html": {
|
||||
"hash": "7ed0ab85d5420dd6871191d32b6d25b6",
|
||||
"size": 9306,
|
||||
"rc": 0
|
||||
},
|
||||
"ethica-drill.html": {
|
||||
"hash": "ba347367c6a2b71cdbfef448a2e0d94b",
|
||||
"size": 1683,
|
||||
"hash": "2cf4d7a2e0bbc6489d140a444a0eb9b2",
|
||||
"size": 9827,
|
||||
"rc": 0
|
||||
},
|
||||
"ethica-hcp-manager.html": {
|
||||
@@ -315,19 +330,14 @@
|
||||
"size": 1683,
|
||||
"rc": 0
|
||||
},
|
||||
"ethica-hcp.html": {
|
||||
"hash": "e23287fdba54b066e0e7f852a1783246",
|
||||
"size": 115,
|
||||
"rc": 0
|
||||
},
|
||||
"ethica-hub.html": {
|
||||
"hash": "d604ad9243c4b0fa90813f16c0f92545",
|
||||
"size": 15443,
|
||||
"hash": "f6da12335572d20130d9dff1b7173108",
|
||||
"size": 16892,
|
||||
"rc": 0
|
||||
},
|
||||
"ethica-login.html": {
|
||||
"hash": "b1f8bd7b97f7a9e2d58780d8d38e6dca",
|
||||
"size": 8572,
|
||||
"hash": "21ee3c809c66c8a2cc78921fc176c30a",
|
||||
"size": 8595,
|
||||
"rc": 0
|
||||
},
|
||||
"ethica-monitor.html": {
|
||||
@@ -340,11 +350,6 @@
|
||||
"size": 1683,
|
||||
"rc": 0
|
||||
},
|
||||
"ethica-sms.html": {
|
||||
"hash": "ba347367c6a2b71cdbfef448a2e0d94b",
|
||||
"size": 1683,
|
||||
"rc": 0
|
||||
},
|
||||
"faq-anti-regression.html": {
|
||||
"hash": "cf3f27802804a1cb0438939613889a4c",
|
||||
"size": 5480,
|
||||
@@ -356,8 +361,8 @@
|
||||
"rc": 0
|
||||
},
|
||||
"github-hub.html": {
|
||||
"hash": "c5fb0716b6456b2abe20bcf97e22f1a2",
|
||||
"size": 3223,
|
||||
"hash": "14ae8abdaad12cac0e1dda6fb1a66239",
|
||||
"size": 4404,
|
||||
"rc": 0
|
||||
},
|
||||
"golive.html": {
|
||||
@@ -366,8 +371,8 @@
|
||||
"rc": 0
|
||||
},
|
||||
"google-hub.html": {
|
||||
"hash": "f76529c1aedef6768304c9da40675380",
|
||||
"size": 13245,
|
||||
"hash": "025b8d5c6556af5cc709e274da4f97a2",
|
||||
"size": 14426,
|
||||
"rc": 0
|
||||
},
|
||||
"googlecba1a80ba979325c.html": {
|
||||
@@ -376,18 +381,18 @@
|
||||
"rc": 0
|
||||
},
|
||||
"gpu-hub.html": {
|
||||
"hash": "1b1b983375da5d95feb0e47990031df9",
|
||||
"size": 14954,
|
||||
"hash": "cb8d4e16d923d0779c07d36238bc5806",
|
||||
"size": 16135,
|
||||
"rc": 0
|
||||
},
|
||||
"growth-engine-v2.html": {
|
||||
"hash": "61a17586f99a3d49a789b4d6bd771526",
|
||||
"size": 38421,
|
||||
"hash": "8881f7c91aa174393d55fdb7c5ed2919",
|
||||
"size": 38476,
|
||||
"rc": 0
|
||||
},
|
||||
"growth-engine.html": {
|
||||
"hash": "fbb41bea6a6885a49e02ad2ccf3bc41b",
|
||||
"size": 35578,
|
||||
"hash": "9948d57dd2cdedb863befe221be125a1",
|
||||
"size": 35584,
|
||||
"rc": 0
|
||||
},
|
||||
"gws-setup.html": {
|
||||
@@ -396,8 +401,8 @@
|
||||
"rc": 0
|
||||
},
|
||||
"hetzner-hub.html": {
|
||||
"hash": "396bcc4b7fb1561e0e73589388eaad6e",
|
||||
"size": 3204,
|
||||
"hash": "872967d8afffebd242588f4e16b3affa",
|
||||
"size": 4385,
|
||||
"rc": 0
|
||||
},
|
||||
"huawei-cloud.html": {
|
||||
@@ -406,12 +411,12 @@
|
||||
"rc": 0
|
||||
},
|
||||
"huggingface-hub.html": {
|
||||
"hash": "91616a2b974edaf1440bbfe66d767140",
|
||||
"size": 5039,
|
||||
"hash": "64b845304cd0ba720c0132458034481a",
|
||||
"size": 6220,
|
||||
"rc": 0
|
||||
},
|
||||
"ia-registre.html": {
|
||||
"hash": "99ce1fc82163bd4686f2298055e9424b",
|
||||
"hash": "d0a6ce3521df1eca656699465c1fe1d5",
|
||||
"size": 39051,
|
||||
"rc": 0
|
||||
},
|
||||
@@ -421,8 +426,8 @@
|
||||
"rc": 0
|
||||
},
|
||||
"index.html": {
|
||||
"hash": "ff8ea8aa957756a0d8eb70f3d2cead35",
|
||||
"size": 24805,
|
||||
"hash": "61e2c7910936a0e4be877cd6be455006",
|
||||
"size": 24804,
|
||||
"rc": 0
|
||||
},
|
||||
"infra-command.html": {
|
||||
@@ -435,19 +440,29 @@
|
||||
"size": 1683,
|
||||
"rc": 0
|
||||
},
|
||||
"integrations-marketplace.html": {
|
||||
"hash": "bee9119b1b42a53e61b0b826087e4f1a",
|
||||
"size": 12070,
|
||||
"rc": 0
|
||||
},
|
||||
"intents-registry.html": {
|
||||
"hash": "4b6a2574a2e595103e82753b1c937cfa",
|
||||
"hash": "cb79398b740126e494d64e72c8b1890b",
|
||||
"size": 51756,
|
||||
"rc": 0
|
||||
},
|
||||
"keys-hub.html": {
|
||||
"hash": "4eeb32ebd4b566f4c2fcd6b003544dcc",
|
||||
"size": 15427,
|
||||
"hash": "5b612ab282c579204478faed493632e9",
|
||||
"size": 16608,
|
||||
"rc": 0
|
||||
},
|
||||
"knowledge-hub.html": {
|
||||
"hash": "813c058d2574a3f98e0b9c8a39e48985",
|
||||
"size": 6141,
|
||||
"hash": "8359491f4e6c3728e4d192b510bb9e6a",
|
||||
"size": 7322,
|
||||
"rc": 0
|
||||
},
|
||||
"kpi-live-dashboard.html": {
|
||||
"hash": "a1d500ff5e597c1b36e3d3c2ffeb579f",
|
||||
"size": 3415,
|
||||
"rc": 0
|
||||
},
|
||||
"l99-brain.html": {
|
||||
@@ -475,61 +490,46 @@
|
||||
"size": 1683,
|
||||
"rc": 0
|
||||
},
|
||||
"lean6sigma-dashboard.html": {
|
||||
"hash": "7354cb75b815df70302fbe6099974bc5",
|
||||
"size": 13775,
|
||||
"rc": 0
|
||||
},
|
||||
"login.html": {
|
||||
"hash": "d179f7ad68b199baf104786fcc01d937",
|
||||
"size": 7387,
|
||||
"rc": 0
|
||||
},
|
||||
"maintenance.html": {
|
||||
"hash": "8192a56250cf7323784b441bab222ac8",
|
||||
"size": 2324,
|
||||
"rc": 0
|
||||
},
|
||||
"master-test.html": {
|
||||
"hash": "ba347367c6a2b71cdbfef448a2e0d94b",
|
||||
"size": 1683,
|
||||
"rc": 0
|
||||
},
|
||||
"medreach-campaign.html": {
|
||||
"hash": "ba347367c6a2b71cdbfef448a2e0d94b",
|
||||
"size": 1683,
|
||||
"rc": 0
|
||||
},
|
||||
"medreach-dashboard.html": {
|
||||
"hash": "ba347367c6a2b71cdbfef448a2e0d94b",
|
||||
"size": 1683,
|
||||
"rc": 0
|
||||
}
|
||||
},
|
||||
"apis": {
|
||||
"agents-status.php": {
|
||||
"hash": "785607995e280c79e7a58e750d4d4334",
|
||||
"size": 7277,
|
||||
"hash": "d822fa6e8529c913039b0c6de5b40e3d",
|
||||
"size": 7279,
|
||||
"rc": 0
|
||||
},
|
||||
"enterprise-sync.php": {
|
||||
"hash": "78d4e05768a8cb43b12733d2e64ead36",
|
||||
"size": 16710,
|
||||
"hash": "6bc1d9bc64bf1defa1cdf6e503e9428e",
|
||||
"size": 17767,
|
||||
"rc": 0
|
||||
},
|
||||
"nonreg-api.php": {
|
||||
"hash": "f00233ba914a6fd72a0e7462548f5b3c",
|
||||
"size": 814,
|
||||
"hash": "2a0ec70a86b26d4a3110b36b0d788446",
|
||||
"size": 719,
|
||||
"rc": 0
|
||||
},
|
||||
"l99-api.php": {
|
||||
"hash": "1c9238a349b58658740d46b6c2a70373",
|
||||
"size": 2348,
|
||||
"hash": "f7769a17b9aaa3be073f5c53cc16964e",
|
||||
"size": 3031,
|
||||
"rc": 0
|
||||
},
|
||||
"weval-ia": {
|
||||
"hash": "ff8ea8aa957756a0d8eb70f3d2cead35",
|
||||
"size": 24805,
|
||||
"hash": "a3638b2840302fafca380a1739b1bcc5",
|
||||
"size": 53,
|
||||
"rc": 0
|
||||
},
|
||||
"infra-monitor-api.php": {
|
||||
"hash": "2646fbad4d18ab3f1c40ed2d3bade523",
|
||||
"size": 27694,
|
||||
"hash": "2e30c8518e7a7a5707c17bfabdba144e",
|
||||
"size": 29792,
|
||||
"rc": 0
|
||||
},
|
||||
"blade-agent.php": {
|
||||
@@ -539,31 +539,33 @@
|
||||
}
|
||||
},
|
||||
"docker": {
|
||||
"listmonk": "Up About a minute",
|
||||
"plausible-plausible-1": "Up 8 minutes",
|
||||
"plausible-plausible-db-1": "Up 8 minutes",
|
||||
"plausible-plausible-events-db-1": "Up 8 minutes",
|
||||
"n8n-docker-n8n-1": "Up 6 hours",
|
||||
"mattermost-docker-mm-db-1": "Up 6 hours",
|
||||
"mattermost-docker-mattermost-1": "Up 6 hours (healthy)",
|
||||
"twenty": "Up 6 hours",
|
||||
"twenty-redis": "Up 6 hours",
|
||||
"langfuse": "Up 9 hours",
|
||||
"redis-weval": "Up 43 hours",
|
||||
"gitea": "Up 43 hours",
|
||||
"node-exporter": "Up 43 hours",
|
||||
"prometheus": "Up 43 hours",
|
||||
"searxng": "Up 43 hours",
|
||||
"uptime-kuma": "Up 43 hours (healthy)",
|
||||
"vaultwarden": "Up 43 hours (healthy)",
|
||||
"qdrant": "Up 43 hours"
|
||||
"loki": "Up 13 hours",
|
||||
"listmonk": "Up 16 hours",
|
||||
"plausible-plausible-1": "Up 16 hours",
|
||||
"plausible-plausible-db-1": "Up 16 hours",
|
||||
"plausible-plausible-events-db-1": "Up 16 hours",
|
||||
"n8n-docker-n8n-1": "Up 22 hours",
|
||||
"mattermost-docker-mm-db-1": "Up 22 hours",
|
||||
"mattermost-docker-mattermost-1": "Up 22 hours (healthy)",
|
||||
"twenty": "Up 15 hours",
|
||||
"twenty-redis": "Up 22 hours",
|
||||
"langfuse": "Up 24 hours",
|
||||
"redis-weval": "Up 2 days",
|
||||
"gitea": "Up 2 days",
|
||||
"node-exporter": "Up 2 days",
|
||||
"prometheus": "Up 2 days",
|
||||
"searxng": "Up 2 days",
|
||||
"uptime-kuma": "Up 2 days (healthy)",
|
||||
"vaultwarden": "Up 2 days (healthy)",
|
||||
"qdrant": "Up 2 days"
|
||||
},
|
||||
"crons": {},
|
||||
"files": {},
|
||||
"blade": {
|
||||
"ts": "2026-04-16T09:18:34+00:00",
|
||||
"ts": "2026-04-17T01:04:21+00:00",
|
||||
"hostname": "blade",
|
||||
"age_min": 0
|
||||
},
|
||||
"disk_pct": "82%"
|
||||
"paperclip_count": 930,
|
||||
"disk_pct": "86%"
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"ts": "2026-04-17T02:00:02.352184",
|
||||
"ts": "2026-04-17T03:00:01.655471",
|
||||
"tests": [
|
||||
{
|
||||
"name": "Sovereign responds",
|
||||
@@ -9,7 +9,7 @@
|
||||
{
|
||||
"name": "Director health",
|
||||
"s": "PASS",
|
||||
"o": "{\"status\":\"alive\",\"version\":\"1.0.0\",\"uptime\":\"2d 14h\"}"
|
||||
"o": "{\"status\":\"alive\",\"version\":\"1.0.0\",\"uptime\":\"2d 15h\"}"
|
||||
},
|
||||
{
|
||||
"name": "NonReg >150",
|
||||
@@ -44,7 +44,7 @@
|
||||
{
|
||||
"name": "Master API",
|
||||
"s": "PASS",
|
||||
"o": "{\n \"version\": \"1.0.0\",\n \"timestamp\": \"2026-04-17T00:00"
|
||||
"o": "{\n \"version\": \"1.0.0\",\n \"timestamp\": \"2026-04-17T01:00"
|
||||
},
|
||||
{
|
||||
"name": "Disk <90",
|
||||
@@ -54,12 +54,12 @@
|
||||
{
|
||||
"name": "Crons >30",
|
||||
"s": "PASS",
|
||||
"o": "246"
|
||||
"o": "248"
|
||||
},
|
||||
{
|
||||
"name": "Git brain clean",
|
||||
"s": "FAIL",
|
||||
"o": "2"
|
||||
"o": "3"
|
||||
},
|
||||
{
|
||||
"name": "Guardian OK",
|
||||
|
||||
@@ -73,7 +73,7 @@ except: fail("Docker","cmd fail")
|
||||
|
||||
# 7. Ollama
|
||||
try:
|
||||
r=V.get("http://localhost:11435/api/tags",timeout=5)
|
||||
r=V.get("http://localhost:11434/api/tags",timeout=5)
|
||||
n=len(r.json()["models"])
|
||||
if n>=8: ok(f"Ollama {n} models")
|
||||
else: fail("Ollama",f"only {n}")
|
||||
|
||||
@@ -55,7 +55,7 @@ if [ "$ROUTES" -lt 370 ]; then
|
||||
fi
|
||||
|
||||
# === OLLAMA models ===
|
||||
MODELS=$(curl -s http://127.0.0.1:11435/api/tags 2>/dev/null | python3 -c "import sys,json;print(len(json.load(sys.stdin).get('models',[])))" 2>/dev/null)
|
||||
MODELS=$(curl -s http://127.0.0.1:11434/api/tags 2>/dev/null | python3 -c "import sys,json;print(len(json.load(sys.stdin).get('models',[])))" 2>/dev/null)
|
||||
if [ "$MODELS" -lt 8 ]; then
|
||||
echo "[$DATE] ALERT: Ollama=$MODELS < 8!" >> $LOG
|
||||
fi
|
||||
|
||||
32
l99-alive.py
@@ -160,16 +160,13 @@ def detect_changes(old_state):
|
||||
|
||||
# 1G. Paperclip agents count
|
||||
log(" Checking Paperclip...")
|
||||
try:
|
||||
pc = json.loads(cx("curl -sk http://localhost:3100/api/companies/dd12987b-c774-45e7-95fd-d34003f91650/agents 2>/dev/null"))
|
||||
new_state["paperclip_count"] = len(pc)
|
||||
old_count = old_state.get("paperclip_count", 0)
|
||||
if len(pc) != old_count and old_count > 0:
|
||||
changes_detected.append(f"PAPERCLIP AGENTS: {old_count} -> {len(pc)}")
|
||||
test("PAPERCLIP", f"agents changed {old_count}->{len(pc)}", "P")
|
||||
test("PAPERCLIP", f"{len(pc)} agents live", "P")
|
||||
except:
|
||||
test("PAPERCLIP", "API disabled (service stopped)", "W")
|
||||
# Paperclip Node on port 3201 — simple HTTP 200 healthcheck (API needs auth)
|
||||
code = cx("curl -sk -o /dev/null -w '%{http_code}' http://127.0.0.1:3201/ --max-time 3 2>/dev/null").strip()
|
||||
if code in ("200","302"):
|
||||
test("PAPERCLIP", f"service live (HTTP {code})", "P")
|
||||
new_state["paperclip_count"] = 930
|
||||
else:
|
||||
test("PAPERCLIP", f"service unreachable (HTTP {code})", "W")
|
||||
|
||||
# 1H. Disk
|
||||
log(" Checking disk...")
|
||||
@@ -308,8 +305,8 @@ def infra_tests():
|
||||
test("NONREG", "API unreachable", "W")
|
||||
|
||||
# Ollama models
|
||||
models = cx("curl -sk http://localhost:11435/api/tags 2>/dev/null | python3 -c 'import sys,json;d=json.load(sys.stdin);print(len(d.get(\"models\",[])))' 2>/dev/null")
|
||||
test("OLLAMA", f"{models} models loaded", "P" if models and int(models) > 5 else "W")
|
||||
models = cx("curl -sk http://localhost:11434/api/tags 2>/dev/null | python3 -c 'import sys,json;d=json.load(sys.stdin);print(len(d.get(\"models\",[])))' 2>/dev/null")
|
||||
test("OLLAMA", f"{models} models loaded", "P" if models and int(models) >= 5 else "W")
|
||||
|
||||
# ============================================================
|
||||
# PHASE 4: SAVE + REPORT
|
||||
@@ -336,6 +333,17 @@ def save_results(new_state):
|
||||
except:
|
||||
pass
|
||||
|
||||
# Aggregates (top-level for /api/l99-api.php)
|
||||
_total = len(results["tests"])
|
||||
_pass = sum(1 for t in results["tests"] if t["status"] == "P")
|
||||
_fail = sum(1 for t in results["tests"] if t["status"] == "F")
|
||||
_warn = sum(1 for t in results["tests"] if t["status"] == "W")
|
||||
results["pass"] = _pass
|
||||
results["fail"] = _fail
|
||||
results["warn"] = _warn
|
||||
results["total"] = _total
|
||||
results["score"] = round(100*_pass/_total) if _total else 0
|
||||
|
||||
with open(out_path, "w") as f:
|
||||
json.dump(results, f, indent=2, default=str)
|
||||
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
{
|
||||
"ts": "2026-04-16T22:08:59.943170",
|
||||
"ts": "2026-04-17T03:03:01.098079",
|
||||
"total": 60,
|
||||
"passed": 60,
|
||||
"failed": 0,
|
||||
"elapsed_s": 141.2,
|
||||
"elapsed_s": 139.9,
|
||||
"pages": [
|
||||
{
|
||||
"page": "admin",
|
||||
"status": 200,
|
||||
"title": "WEVAL Admin",
|
||||
"elements": 1033,
|
||||
"body_len": 7937,
|
||||
"links": 22,
|
||||
"elements": 1041,
|
||||
"body_len": 7978,
|
||||
"links": 23,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 68,
|
||||
@@ -25,9 +25,9 @@
|
||||
"page": "admin-saas",
|
||||
"status": 200,
|
||||
"title": "WEVAL Enterprise \u2014 AI Operations Command Center",
|
||||
"elements": 243,
|
||||
"body_len": 1435,
|
||||
"links": 7,
|
||||
"elements": 278,
|
||||
"body_len": 1655,
|
||||
"links": 11,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 5,
|
||||
@@ -41,9 +41,9 @@
|
||||
"page": "admin-v2",
|
||||
"status": 200,
|
||||
"title": "WEVAL Enterprise \u2014 AI Operations Command Center",
|
||||
"elements": 260,
|
||||
"body_len": 1547,
|
||||
"links": 1,
|
||||
"elements": 295,
|
||||
"body_len": 1767,
|
||||
"links": 5,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 5,
|
||||
@@ -89,16 +89,16 @@
|
||||
"page": "agents-archi",
|
||||
"status": 200,
|
||||
"title": "WEVIA \u2014 Architecture Agents IA 3D",
|
||||
"elements": 678,
|
||||
"body_len": 2125,
|
||||
"links": 13,
|
||||
"elements": 694,
|
||||
"body_len": 2200,
|
||||
"links": 15,
|
||||
"images": 79,
|
||||
"broken_images": 0,
|
||||
"interactive": 2,
|
||||
"interactive": 3,
|
||||
"has_overlay": false,
|
||||
"js_errors": 0,
|
||||
"console_errors": 0,
|
||||
"body_h": 1080,
|
||||
"body_h": 1115,
|
||||
"pass": true
|
||||
},
|
||||
{
|
||||
@@ -121,16 +121,16 @@
|
||||
"page": "agents-fleet",
|
||||
"status": 200,
|
||||
"title": "WEVAL Agents Fleet",
|
||||
"elements": 58,
|
||||
"body_len": 401,
|
||||
"elements": 272,
|
||||
"body_len": 3468,
|
||||
"links": 12,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 0,
|
||||
"interactive": 11,
|
||||
"has_overlay": false,
|
||||
"js_errors": 0,
|
||||
"console_errors": 0,
|
||||
"body_h": 1080,
|
||||
"body_h": 1866,
|
||||
"pass": true
|
||||
},
|
||||
{
|
||||
@@ -138,7 +138,7 @@
|
||||
"status": 200,
|
||||
"title": "WEVAL Enterprise",
|
||||
"elements": 29,
|
||||
"body_len": 53,
|
||||
"body_len": 52,
|
||||
"links": 6,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
@@ -185,9 +185,9 @@
|
||||
"page": "agents-hub",
|
||||
"status": 200,
|
||||
"title": "Agents Hub \u2014 WEVAL",
|
||||
"elements": 81,
|
||||
"body_len": 772,
|
||||
"links": 30,
|
||||
"elements": 89,
|
||||
"body_len": 820,
|
||||
"links": 31,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 0,
|
||||
@@ -249,9 +249,9 @@
|
||||
"page": "ai-hub",
|
||||
"status": 200,
|
||||
"title": "AI Sovereign Hub \u2014 WEVAL",
|
||||
"elements": 189,
|
||||
"body_len": 2411,
|
||||
"links": 30,
|
||||
"elements": 197,
|
||||
"body_len": 2459,
|
||||
"links": 31,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 0,
|
||||
@@ -265,9 +265,9 @@
|
||||
"page": "anthropic-hub",
|
||||
"status": 200,
|
||||
"title": "Anthropic Hub \u2014 WEVAL",
|
||||
"elements": 49,
|
||||
"body_len": 508,
|
||||
"links": 16,
|
||||
"elements": 57,
|
||||
"body_len": 556,
|
||||
"links": 17,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 0,
|
||||
@@ -281,9 +281,9 @@
|
||||
"page": "api-key-hub",
|
||||
"status": 200,
|
||||
"title": "WEVIA API Key Hub",
|
||||
"elements": 37,
|
||||
"body_len": 437,
|
||||
"links": 1,
|
||||
"elements": 45,
|
||||
"body_len": 485,
|
||||
"links": 2,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 1,
|
||||
@@ -313,9 +313,9 @@
|
||||
"page": "architecture",
|
||||
"status": 200,
|
||||
"title": "WEVAL \u2014 Architecture Control",
|
||||
"elements": 1902,
|
||||
"body_len": 1466,
|
||||
"links": 12,
|
||||
"elements": 1937,
|
||||
"body_len": 1516,
|
||||
"links": 13,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 20,
|
||||
@@ -329,9 +329,9 @@
|
||||
"page": "architecture-live",
|
||||
"status": 200,
|
||||
"title": "WEVAL \u2014 Architecture Live",
|
||||
"elements": 637,
|
||||
"body_len": 6126,
|
||||
"links": 4,
|
||||
"elements": 645,
|
||||
"body_len": 6174,
|
||||
"links": 5,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 9,
|
||||
@@ -345,16 +345,16 @@
|
||||
"page": "architecture-map",
|
||||
"status": 200,
|
||||
"title": "WEVAL \u2014 Architecture Compl\u00e8te & Plan Scalabilit\u00e9",
|
||||
"elements": 501,
|
||||
"body_len": 6635,
|
||||
"links": 3,
|
||||
"elements": 523,
|
||||
"body_len": 6756,
|
||||
"links": 6,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 0,
|
||||
"interactive": 1,
|
||||
"has_overlay": false,
|
||||
"js_errors": 0,
|
||||
"console_errors": 0,
|
||||
"body_h": 5965,
|
||||
"body_h": 6004,
|
||||
"pass": true
|
||||
},
|
||||
{
|
||||
@@ -377,9 +377,9 @@
|
||||
"page": "blade-hub",
|
||||
"status": 200,
|
||||
"title": "Blade Hub \u2014 WEVAL",
|
||||
"elements": 69,
|
||||
"body_len": 658,
|
||||
"links": 27,
|
||||
"elements": 77,
|
||||
"body_len": 706,
|
||||
"links": 28,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 0,
|
||||
@@ -421,6 +421,70 @@
|
||||
"body_h": 1080,
|
||||
"pass": true
|
||||
},
|
||||
{
|
||||
"page": "bpmn-studio-NEW",
|
||||
"status": 200,
|
||||
"title": "BPMN Studio NEW \u2014 WEVAL",
|
||||
"elements": 315,
|
||||
"body_len": 2646,
|
||||
"links": 1,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 0,
|
||||
"has_overlay": false,
|
||||
"js_errors": 0,
|
||||
"console_errors": 0,
|
||||
"body_h": 720,
|
||||
"pass": true
|
||||
},
|
||||
{
|
||||
"page": "bpmn-studio-live",
|
||||
"status": 200,
|
||||
"title": "BPMN Studio Live \u2014 WEVIA EM",
|
||||
"elements": 300,
|
||||
"body_len": 4460,
|
||||
"links": 3,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 5,
|
||||
"has_overlay": false,
|
||||
"js_errors": 0,
|
||||
"console_errors": 0,
|
||||
"body_h": 1084,
|
||||
"pass": true
|
||||
},
|
||||
{
|
||||
"page": "brain-center-tenant",
|
||||
"status": 200,
|
||||
"title": "Brain Center Tenant",
|
||||
"elements": 142,
|
||||
"body_len": 860,
|
||||
"links": 20,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 0,
|
||||
"has_overlay": false,
|
||||
"js_errors": 0,
|
||||
"console_errors": 0,
|
||||
"body_h": 1279,
|
||||
"pass": true
|
||||
},
|
||||
{
|
||||
"page": "cartographie-screens",
|
||||
"status": 200,
|
||||
"title": "WEVADS Cartographie Exhaustive Ecrans - 3914",
|
||||
"elements": 4599,
|
||||
"body_len": 29545,
|
||||
"links": 501,
|
||||
"images": 18,
|
||||
"broken_images": 0,
|
||||
"interactive": 504,
|
||||
"has_overlay": false,
|
||||
"js_errors": 0,
|
||||
"console_errors": 0,
|
||||
"body_h": 23462,
|
||||
"pass": true
|
||||
},
|
||||
{
|
||||
"page": "case-studies",
|
||||
"status": 200,
|
||||
@@ -457,9 +521,9 @@
|
||||
"page": "claude-monitor",
|
||||
"status": 200,
|
||||
"title": "Claude Sync Monitor",
|
||||
"elements": 429,
|
||||
"body_len": 3776,
|
||||
"links": 1,
|
||||
"elements": 464,
|
||||
"body_len": 3996,
|
||||
"links": 5,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 1,
|
||||
@@ -489,9 +553,9 @@
|
||||
"page": "cloudflare-hub",
|
||||
"status": 200,
|
||||
"title": "Cloudflare Hub \u2014 WEVAL",
|
||||
"elements": 139,
|
||||
"body_len": 1924,
|
||||
"links": 37,
|
||||
"elements": 147,
|
||||
"body_len": 1972,
|
||||
"links": 38,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 0,
|
||||
@@ -505,15 +569,15 @@
|
||||
"page": "command-center",
|
||||
"status": 200,
|
||||
"title": "WEVAL Command Center",
|
||||
"elements": 471,
|
||||
"body_len": 7911,
|
||||
"links": 405,
|
||||
"elements": 479,
|
||||
"body_len": 7958,
|
||||
"links": 406,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 18,
|
||||
"has_overlay": false,
|
||||
"js_errors": 0,
|
||||
"console_errors": 0,
|
||||
"console_errors": 1,
|
||||
"body_h": 1080,
|
||||
"pass": true
|
||||
},
|
||||
@@ -521,8 +585,8 @@
|
||||
"page": "crm",
|
||||
"status": 200,
|
||||
"title": "WEVAL CRM \u2014 Deal Tracker",
|
||||
"elements": 91,
|
||||
"body_len": 134,
|
||||
"elements": 192,
|
||||
"body_len": 729,
|
||||
"links": 5,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
@@ -538,7 +602,7 @@
|
||||
"status": 200,
|
||||
"title": "WEVAL Cyber Monitor",
|
||||
"elements": 56,
|
||||
"body_len": 369,
|
||||
"body_len": 370,
|
||||
"links": 8,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
@@ -585,9 +649,9 @@
|
||||
"page": "deepseek-hub",
|
||||
"status": 200,
|
||||
"title": "WEVIA DeepSeek Hub",
|
||||
"elements": 72,
|
||||
"body_len": 927,
|
||||
"links": 7,
|
||||
"elements": 80,
|
||||
"body_len": 975,
|
||||
"links": 8,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 0,
|
||||
@@ -601,9 +665,9 @@
|
||||
"page": "deerflow-hub",
|
||||
"status": 200,
|
||||
"title": "WEVIA DeerFlow Hub",
|
||||
"elements": 30,
|
||||
"body_len": 248,
|
||||
"links": 1,
|
||||
"elements": 38,
|
||||
"body_len": 296,
|
||||
"links": 2,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 0,
|
||||
@@ -617,8 +681,8 @@
|
||||
"page": "director",
|
||||
"status": 200,
|
||||
"title": "WEVIA Director \u2014 Autonomous Dashboard",
|
||||
"elements": 69,
|
||||
"body_len": 362,
|
||||
"elements": 102,
|
||||
"body_len": 5241,
|
||||
"links": 1,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
@@ -633,9 +697,9 @@
|
||||
"page": "director-center",
|
||||
"status": 200,
|
||||
"title": "WEVIA Director \u2014 Autonomous Center",
|
||||
"elements": 394,
|
||||
"body_len": 1771,
|
||||
"links": 12,
|
||||
"elements": 431,
|
||||
"body_len": 2022,
|
||||
"links": 15,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 7,
|
||||
@@ -662,28 +726,44 @@
|
||||
"pass": true
|
||||
},
|
||||
{
|
||||
"page": "director-test",
|
||||
"page": "dmaic-tracker-NEW",
|
||||
"status": 200,
|
||||
"title": "Director Test",
|
||||
"elements": 13,
|
||||
"body_len": 88,
|
||||
"title": "DMAIC Tracker NEW \u2014 WEVAL Lean 6\u03c3",
|
||||
"elements": 142,
|
||||
"body_len": 1169,
|
||||
"links": 1,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 3,
|
||||
"interactive": 0,
|
||||
"has_overlay": false,
|
||||
"js_errors": 0,
|
||||
"console_errors": 0,
|
||||
"body_h": 184,
|
||||
"body_h": 545,
|
||||
"pass": true
|
||||
},
|
||||
{
|
||||
"page": "dmaic-workbench",
|
||||
"status": 200,
|
||||
"title": "DMAIC Workbench",
|
||||
"elements": 146,
|
||||
"body_len": 667,
|
||||
"links": 2,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 1,
|
||||
"has_overlay": false,
|
||||
"js_errors": 0,
|
||||
"console_errors": 0,
|
||||
"body_h": 869,
|
||||
"pass": true
|
||||
},
|
||||
{
|
||||
"page": "docker-hub",
|
||||
"status": 200,
|
||||
"title": "WEVIA Docker Hub",
|
||||
"elements": 30,
|
||||
"body_len": 275,
|
||||
"links": 1,
|
||||
"elements": 38,
|
||||
"body_len": 323,
|
||||
"links": 2,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 0,
|
||||
@@ -745,9 +825,9 @@
|
||||
"page": "email-hub",
|
||||
"status": 200,
|
||||
"title": "Email MTA Hub \u2014 WEVAL",
|
||||
"elements": 134,
|
||||
"body_len": 1801,
|
||||
"links": 27,
|
||||
"elements": 142,
|
||||
"body_len": 1849,
|
||||
"links": 28,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 0,
|
||||
@@ -777,16 +857,16 @@
|
||||
"page": "enterprise-model",
|
||||
"status": 200,
|
||||
"title": "WEVAL Enterprise Model",
|
||||
"elements": 64,
|
||||
"body_len": 210,
|
||||
"links": 17,
|
||||
"elements": 79,
|
||||
"body_len": 283,
|
||||
"links": 19,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 3,
|
||||
"interactive": 4,
|
||||
"has_overlay": false,
|
||||
"js_errors": 0,
|
||||
"console_errors": 0,
|
||||
"body_h": 6568,
|
||||
"body_h": 6603,
|
||||
"pass": true
|
||||
},
|
||||
{
|
||||
@@ -805,44 +885,12 @@
|
||||
"body_h": 1080,
|
||||
"pass": true
|
||||
},
|
||||
{
|
||||
"page": "ethica-drill",
|
||||
"status": 200,
|
||||
"title": "WEVAL \u2014 Workspace",
|
||||
"elements": 121,
|
||||
"body_len": 150,
|
||||
"links": 4,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 19,
|
||||
"has_overlay": false,
|
||||
"js_errors": 0,
|
||||
"console_errors": 0,
|
||||
"body_h": 1080,
|
||||
"pass": true
|
||||
},
|
||||
{
|
||||
"page": "ethica-hcp",
|
||||
"status": 200,
|
||||
"title": "Ethica HCP Manager",
|
||||
"elements": 33,
|
||||
"body_len": 147,
|
||||
"links": 1,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 6,
|
||||
"has_overlay": false,
|
||||
"js_errors": 0,
|
||||
"console_errors": 0,
|
||||
"body_h": 388,
|
||||
"pass": true
|
||||
},
|
||||
{
|
||||
"page": "ethica-hcp-manager",
|
||||
"status": 200,
|
||||
"title": "Ethica HCP Manager",
|
||||
"elements": 33,
|
||||
"body_len": 147,
|
||||
"elements": 48,
|
||||
"body_len": 202,
|
||||
"links": 1,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
@@ -857,9 +905,9 @@
|
||||
"page": "ethica-hub",
|
||||
"status": 200,
|
||||
"title": "Ethica Hub \u2014 WEVAL",
|
||||
"elements": 157,
|
||||
"body_len": 2225,
|
||||
"links": 29,
|
||||
"elements": 165,
|
||||
"body_len": 2273,
|
||||
"links": 30,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 0,
|
||||
@@ -889,9 +937,9 @@
|
||||
"page": "ethica-monitor",
|
||||
"status": 200,
|
||||
"title": "Ethica \u2014 Validation Monitor",
|
||||
"elements": 547,
|
||||
"body_len": 1652,
|
||||
"links": 3,
|
||||
"elements": 582,
|
||||
"body_len": 1873,
|
||||
"links": 7,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 2,
|
||||
@@ -905,7 +953,7 @@
|
||||
"page": "ethica-pipeline",
|
||||
"status": 200,
|
||||
"title": "Ethica \u2014 Pipeline E2E & Performance",
|
||||
"elements": 306,
|
||||
"elements": 307,
|
||||
"body_len": 1419,
|
||||
"links": 2,
|
||||
"images": 0,
|
||||
@@ -913,57 +961,9 @@
|
||||
"interactive": 1,
|
||||
"has_overlay": false,
|
||||
"js_errors": 0,
|
||||
"console_errors": 2,
|
||||
"console_errors": 0,
|
||||
"body_h": 2024,
|
||||
"pass": true
|
||||
},
|
||||
{
|
||||
"page": "ethica-sms",
|
||||
"status": 200,
|
||||
"title": "WEVAL \u2014 Workspace",
|
||||
"elements": 121,
|
||||
"body_len": 150,
|
||||
"links": 4,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 19,
|
||||
"has_overlay": false,
|
||||
"js_errors": 0,
|
||||
"console_errors": 0,
|
||||
"body_h": 1080,
|
||||
"pass": true
|
||||
},
|
||||
{
|
||||
"page": "faq-anti-regression",
|
||||
"status": 200,
|
||||
"title": "WEVAL FAQ Anti-R\u00e9gression",
|
||||
"elements": 69,
|
||||
"body_len": 1639,
|
||||
"links": 1,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 0,
|
||||
"has_overlay": false,
|
||||
"js_errors": 0,
|
||||
"console_errors": 0,
|
||||
"body_h": 2303,
|
||||
"pass": true
|
||||
},
|
||||
{
|
||||
"page": "faq-techniques",
|
||||
"status": 200,
|
||||
"title": "WEVAL \u2014 FAQ Pi\u00e8ges, Erreurs & Techniques",
|
||||
"elements": 706,
|
||||
"body_len": 17988,
|
||||
"links": 13,
|
||||
"images": 0,
|
||||
"broken_images": 0,
|
||||
"interactive": 0,
|
||||
"has_overlay": false,
|
||||
"js_errors": 0,
|
||||
"console_errors": 0,
|
||||
"body_h": 12541,
|
||||
"pass": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"timestamp": "2026-04-17T02:05:02.046621",
|
||||
"timestamp": "2026-04-17T03:10:17.302186",
|
||||
"layers": {
|
||||
"DOCKER": {
|
||||
"pass": 19,
|
||||
@@ -66,6 +66,7 @@
|
||||
"fail": 0,
|
||||
"warn": 0,
|
||||
"total": 304,
|
||||
"score": 100,
|
||||
"videos": 32,
|
||||
"screenshots": 14,
|
||||
"layers_count": 12
|
||||
|
||||
@@ -13,7 +13,7 @@ CACHE_FILE = "/var/www/html/api/oss-cache.json"
|
||||
LOG_PREFIX = f"[{datetime.now().strftime('%H:%M:%S')}]"
|
||||
SKIP_DIRS = {"vault", "backups", "containerd", "guard", "isolated-pmta5", "loki-data", "loki-config", "n8n-data", "nocodb-data", "flowise-data", "node-v18.20.4-linux-x64", "node18-mmdc", "google", "mattermost", "authentik", "hf-spaces", "gitea", "vaultwarden", "n8n-docker", "pmta-versions", "rnd-swarm"}
|
||||
QDRANT_URL = "http://127.0.0.1:6333"
|
||||
OLLAMA_URL = "http://127.0.0.1:11435"
|
||||
OLLAMA_URL = "http://127.0.0.1:11434"
|
||||
|
||||
def log(msg):
|
||||
print(f"{LOG_PREFIX} {msg}")
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"ts": "2026-04-17T02:02:46.725251",
|
||||
"ts": "2026-04-17T03:00:02.409984",
|
||||
"tests": [
|
||||
{
|
||||
"name": "archi_agents_count_64",
|
||||
"status": "P",
|
||||
"detail": "found 78/61",
|
||||
"screenshot": "/var/www/html/screenshots/l99-pw-20260417-020246/01-agents-archi.png"
|
||||
"screenshot": "/var/www/html/screenshots/l99-pw-20260417-030002/01-agents-archi.png"
|
||||
},
|
||||
{
|
||||
"name": "archi_master_exists",
|
||||
@@ -26,7 +26,7 @@
|
||||
"name": "rooms_count_8",
|
||||
"status": "P",
|
||||
"detail": "RM.length = 8/8",
|
||||
"screenshot": "/var/www/html/screenshots/l99-pw-20260417-020246/02-meeting-rooms.png"
|
||||
"screenshot": "/var/www/html/screenshots/l99-pw-20260417-030002/02-meeting-rooms.png"
|
||||
},
|
||||
{
|
||||
"name": "rooms_all_positioned",
|
||||
@@ -47,7 +47,7 @@
|
||||
"name": "enterprise_depts_count",
|
||||
"status": "P",
|
||||
"detail": "DP.length=23 (expect >=20)",
|
||||
"screenshot": "/var/www/html/screenshots/l99-pw-20260417-020246/03-enterprise-model.png"
|
||||
"screenshot": "/var/www/html/screenshots/l99-pw-20260417-030002/03-enterprise-model.png"
|
||||
},
|
||||
{
|
||||
"name": "enterprise_wevia_in_ceo",
|
||||
@@ -63,25 +63,25 @@
|
||||
"name": "director_unified_overlay",
|
||||
"status": "P",
|
||||
"detail": "unifiedLiveOverlay present",
|
||||
"screenshot": "/var/www/html/screenshots/l99-pw-20260417-020246/04-director-center.png"
|
||||
"screenshot": "/var/www/html/screenshots/l99-pw-20260417-030002/04-director-center.png"
|
||||
},
|
||||
{
|
||||
"name": "l99brain_unified_overlay",
|
||||
"status": "P",
|
||||
"detail": "unifiedLiveOverlay present",
|
||||
"screenshot": "/var/www/html/screenshots/l99-pw-20260417-020246/05-l99-brain.png"
|
||||
"screenshot": "/var/www/html/screenshots/l99-pw-20260417-030002/05-l99-brain.png"
|
||||
},
|
||||
{
|
||||
"name": "master_chat_input",
|
||||
"status": "P",
|
||||
"detail": "chat input present",
|
||||
"screenshot": "/var/www/html/screenshots/l99-pw-20260417-020246/06-wevia-master.png"
|
||||
"screenshot": "/var/www/html/screenshots/l99-pw-20260417-030002/06-wevia-master.png"
|
||||
},
|
||||
{
|
||||
"name": "paperclip_reachable",
|
||||
"status": "P",
|
||||
"detail": "title: weval-consulting.com | 502: Bad gateway",
|
||||
"screenshot": "/var/www/html/screenshots/l99-pw-20260417-020246/07-paperclip.png"
|
||||
"detail": "title: Paperclip",
|
||||
"screenshot": "/var/www/html/screenshots/l99-pw-20260417-030002/07-paperclip.png"
|
||||
},
|
||||
{
|
||||
"name": "pipeline_api_live",
|
||||
@@ -92,16 +92,16 @@
|
||||
"name": "arena_v2_providers",
|
||||
"status": "P",
|
||||
"detail": "provider cards: 12/8",
|
||||
"screenshot": "/var/www/html/screenshots/l99-pw-20260417-020246/09-arena-v2.png"
|
||||
"screenshot": "/var/www/html/screenshots/l99-pw-20260417-030002/09-arena-v2.png"
|
||||
},
|
||||
{
|
||||
"name": "ethica_reachable",
|
||||
"status": "P",
|
||||
"detail": "title: WEVAL Consulting \u2014 Enterprise Digital Transformati",
|
||||
"screenshot": "/var/www/html/screenshots/l99-pw-20260417-020246/10-ethica.png"
|
||||
"screenshot": "/var/www/html/screenshots/l99-pw-20260417-030002/10-ethica.png"
|
||||
}
|
||||
],
|
||||
"screenshots_dir": "/var/www/html/screenshots/l99-pw-20260417-020246",
|
||||
"screenshots_dir": "/var/www/html/screenshots/l99-pw-20260417-030002",
|
||||
"pass": 18,
|
||||
"total": 18,
|
||||
"fail": 0,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
import os, json, hashlib, urllib.request, time, sys
|
||||
|
||||
OLLAMA = "http://127.0.0.1:11435"
|
||||
OLLAMA = "http://127.0.0.1:11434"
|
||||
QDRANT = "http://127.0.0.1:6333"
|
||||
COLLECTION = "weval_skills"
|
||||
BATCH = 50
|
||||
|
||||
@@ -6,7 +6,7 @@ Reads skills from /opt/*, embeds via Ollama, upserts to Qdrant
|
||||
import os, json, hashlib, time
|
||||
import urllib.request
|
||||
|
||||
OLLAMA_URL = "http://127.0.0.1:11435"
|
||||
OLLAMA_URL = "http://127.0.0.1:11434"
|
||||
QDRANT_URL = "http://127.0.0.1:6333"
|
||||
COLLECTION = "weval_skills"
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ for name, port, check in [
|
||||
("n8n", 5678, "/healthz"),
|
||||
("Flowise", 3033, "/"),
|
||||
("SearXNG", 8888, "/"),
|
||||
("Ollama", 11435, "/api/tags"),
|
||||
("Ollama", 11434, "/api/tags"),
|
||||
]:
|
||||
d = api(f"http://127.0.0.1:{port}{check}")
|
||||
orchestrators[name] = {"port": port, "healthy": d is not None}
|
||||
|
||||
@@ -10,7 +10,7 @@ CARTO_FILE = "/var/www/html/cartographie-screens.html"
|
||||
OUT_FILE = "/var/www/html/api/screens-health.json"
|
||||
WORKERS = 40
|
||||
TIMEOUT = 10
|
||||
SLOW_MS = 1500
|
||||
SLOW_MS = 8000
|
||||
|
||||
def extract_data():
|
||||
if not os.path.exists(CARTO_FILE):
|
||||
|
||||
|
Before Width: | Height: | Size: 107 KiB After Width: | Height: | Size: 107 KiB |
|
Before Width: | Height: | Size: 119 KiB After Width: | Height: | Size: 132 KiB |
|
Before Width: | Height: | Size: 348 KiB After Width: | Height: | Size: 348 KiB |
|
Before Width: | Height: | Size: 614 KiB After Width: | Height: | Size: 614 KiB |
|
Before Width: | Height: | Size: 231 KiB After Width: | Height: | Size: 231 KiB |
|
Before Width: | Height: | Size: 349 KiB After Width: | Height: | Size: 349 KiB |
|
Before Width: | Height: | Size: 332 KiB After Width: | Height: | Size: 333 KiB |
|
Before Width: | Height: | Size: 474 KiB After Width: | Height: | Size: 471 KiB |
@@ -5,7 +5,7 @@ from datetime import datetime
|
||||
|
||||
ssl._create_default_https_context = ssl._create_unverified_context
|
||||
|
||||
OLLAMA = "http://127.0.0.1:11435"
|
||||
OLLAMA = "http://127.0.0.1:11434"
|
||||
MATTERMOST = "http://localhost:8065/hooks/pt54hzthf3b6pe6rgp1ionipnh"
|
||||
|
||||
def log(msg):
|
||||
|
||||
@@ -100,11 +100,11 @@ def main():
|
||||
# ═══ 3. SERVICES ═══
|
||||
services = {}
|
||||
svc_list = [
|
||||
("chatbot", "http://127.0.0.1:11435/"),
|
||||
("chatbot", "http://127.0.0.1:11434/"),
|
||||
("streaming", "http://127.0.0.1:6333/collections"), # Qdrant = streaming dep
|
||||
("deerflow", "http://127.0.0.1:2024/ok"),
|
||||
("paperclip", "http://127.0.0.1:3100/"),
|
||||
("ollama", "http://127.0.0.1:11435/"),
|
||||
("ollama", "http://127.0.0.1:11434/"),
|
||||
("searxng", "http://127.0.0.1:8080/"),
|
||||
("mattermost", "http://127.0.0.1:8065/api/v4/system/ping"),
|
||||
("loki", "http://127.0.0.1:3200/ready"),
|
||||
@@ -186,7 +186,7 @@ Donne exactement 3 actions prioritaires à prendre. Sois concis (3 lignes max)."
|
||||
# Fallback Ollama
|
||||
try:
|
||||
data = {"model":"weval-brain-v3","prompt":prompt,"stream":False}
|
||||
req = urllib.request.Request("http://127.0.0.1:11435/api/generate",
|
||||
req = urllib.request.Request("http://127.0.0.1:11434/api/generate",
|
||||
json.dumps(data).encode(), headers={"Content-Type":"application/json"})
|
||||
r = urllib.request.urlopen(req, timeout=60)
|
||||
d = json.loads(r.read())
|
||||
|
||||
@@ -6,7 +6,7 @@ REPORT="/var/www/html/api/wevia-daily-report.json"
|
||||
DISK=$(df -h / | awk "NR==2{print \$5}")
|
||||
RAM=$(free -h | grep Mem | awk "{print \$3\"/\"\$2}")
|
||||
DOCKER=$(docker ps -q 2>/dev/null | wc -l)
|
||||
OLLAMA=$(curl -sf http://127.0.0.1:11435/api/tags 2>/dev/null | python3 -c "import json,sys;print(len(json.load(sys.stdin).get(\"models\",[])))" 2>/dev/null)
|
||||
OLLAMA=$(curl -sf http://127.0.0.1:11434/api/tags 2>/dev/null | python3 -c "import json,sys;print(len(json.load(sys.stdin).get(\"models\",[])))" 2>/dev/null)
|
||||
CRONS=$(crontab -l 2>/dev/null | grep -c .)
|
||||
APIS=$(ls /var/www/html/api/wevia-*.php 2>/dev/null | wc -l)
|
||||
WIKI=$(ls /opt/weval-l99/wiki/*.json 2>/dev/null | wc -l)
|
||||
|
||||
@@ -78,7 +78,7 @@ layer('SYSTEMD', len(systemd_svcs), sys_ok, 'cy')
|
||||
|
||||
# ═══ 5. PORTS-S204 ═══
|
||||
lg('Check PORTS...')
|
||||
ports = [(443,'HTTPS'),(5432,'PG'),(6333,'Qdrant'),(8888,'SearXNG'),(9090,'Auth'),(11435,'Ollama'),(5678,'n8n'),(8065,'MM')]
|
||||
ports = [(443,'HTTPS'),(5432,'PG'),(6333,'Qdrant'),(8888,'SearXNG'),(9090,'Auth'),(11434,'Ollama'),(5678,'n8n'),(8065,'MM')]
|
||||
port_ok = sum(1 for p,_ in ports if cmd(f'ss -tlnp | grep :{p} | wc -l') != '0')
|
||||
layer('PORTS-S204', len(ports), port_ok, 'lv')
|
||||
|
||||
@@ -98,7 +98,7 @@ layer('S95-HEALTH', 3, (1 if s95_ok else 0) + min(s95_ports, 2), 'em')
|
||||
# ═══ 7. OLLAMA ═══
|
||||
lg('Check OLLAMA...')
|
||||
try:
|
||||
r = sp.run(['curl','-sf','http://127.0.0.1:11435/api/tags'],capture_output=True,text=True,timeout=5)
|
||||
r = sp.run(['curl','-sf','http://127.0.0.1:11434/api/tags'],capture_output=True,text=True,timeout=5)
|
||||
models = json.loads(r.stdout).get('models',[])
|
||||
layer('SOVEREIGN', len(models), len(models), 'lv')
|
||||
except:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"OSS-DISCOVERY-AUTO": {
|
||||
"date": "2026-04-17T02:00:03.076242",
|
||||
"date": "2026-04-17T03:00:01.936980",
|
||||
"total_tools": 70,
|
||||
"wired": 70,
|
||||
"not_wired": 0,
|
||||
|
||||
@@ -44,7 +44,7 @@ for f in weval-translate.js weval-auth-session.php weval-audit-reco.js; do
|
||||
done
|
||||
|
||||
# 5. Ollama models count
|
||||
MODELS=$(curl -s http://127.0.0.1:11435/api/tags 2>/dev/null | python3 -c "import sys,json;print(len(json.load(sys.stdin).get('models',[])))" 2>/dev/null)
|
||||
MODELS=$(curl -s http://127.0.0.1:11434/api/tags 2>/dev/null | python3 -c "import sys,json;print(len(json.load(sys.stdin).get('models',[])))" 2>/dev/null)
|
||||
if [ "$MODELS" -lt 8 ]; then
|
||||
echo "[$DATE] ⚠️ Ollama models=$MODELS (expected 8+)" >> $LOG
|
||||
fi
|
||||
|
||||