auto-sync-opus46

This commit is contained in:
opus-wire
2026-04-20 15:39:16 +02:00
parent df5f7f2e16
commit 4ba5c32b28
55 changed files with 1967 additions and 351 deletions

View File

@@ -1,525 +1,525 @@
{ {
"pages": { "pages": {
"404.html": { "404.html": {
"hash": "7c8da9da8afdc363e28a32a1d00cf74e", "hash": "91a44809f8622dd83bb1626d52f10667",
"size": 4749, "size": 8144,
"rc": 0
},
"acquired-dashboard.html": {
"hash": "1c77acec8e697d734da7bcbf9d7cc125",
"size": 35604,
"rc": 0 "rc": 0
}, },
"admin-saas.html": { "admin-saas.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"admin-v2.html": { "admin-v2.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"admin.html": { "admin.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0
},
"agent-roi-simulator.html": {
"hash": "908c2fc34bc9793825aa9459c7be9529",
"size": 33588,
"rc": 0 "rc": 0
}, },
"agents-3d.html": { "agents-3d.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"agents-alive.html": { "agents-alive.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"agents-archi.html": { "agents-archi.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"agents-final.html": { "agents-final.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"agents-fleet.html": { "agents-fleet.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"agents-goodjob.html": { "agents-goodjob.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"agents-hd.html": { "agents-hd.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"agents-hd2.html": { "agents-hd2.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"agents-hub.html": { "agents-hub.html": {
"hash": "4dcf1fd65fdb5a7b268d48177a8aa56e", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 9259, "size": 1821,
"rc": 0 "rc": 0
}, },
"agents-ia.html": { "agents-ia.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"agents-iso3d.html": { "agents-iso3d.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0
},
"agents-unified-registry.html": {
"hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1821,
"rc": 0 "rc": 0
}, },
"agents-valuechain.html": { "agents-valuechain.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"ai-benchmark.html": { "ai-benchmark.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"ai-hub.html": { "ai-hub.html": {
"hash": "49b77b9f7ba002b0d7ecc4aa61923a66", "hash": "e5615b05a90fe267ab40b6e85b2a586f",
"size": 17398, "size": 21039,
"rc": 0 "rc": 0
}, },
"all-screens-live.html": { "all-screens-live.html": {
"hash": "2319d54fe3f6ea3d7149c510f6c859a4", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 72, "size": 1821,
"rc": 0 "rc": 0
}, },
"anthropic-hub.html": { "anthropic-hub.html": {
"hash": "0869f32385d0eeaccafeb6f564963adb", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 6227, "size": 1821,
"rc": 0 "rc": 0
}, },
"api-key-hub.html": { "api-key-hub.html": {
"hash": "279c15cd4fc22417460947c45e6a72e4", "hash": "9c12208b066967d2259ca4c19e07a357",
"size": 12517, "size": 16158,
"rc": 0 "rc": 0
}, },
"apps.html": { "apps.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"architecture-live.html": { "architecture-live.html": {
"hash": "99ab6430164b527597a71c4d35295bf4", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 32116, "size": 1821,
"rc": 0 "rc": 0
}, },
"architecture-map.html": { "architecture-map.html": {
"hash": "4b1e2901762da199343f285ac4dca1da", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 31488, "size": 1821,
"rc": 0 "rc": 0
}, },
"architecture.html": { "architecture.html": {
"hash": "164c191ef6b78efa63e5d1024f5d3115", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 51850, "size": 1821,
"rc": 0 "rc": 0
}, },
"arsenal-login.html": { "arsenal-login.html": {
"hash": "ec63c49bf1fe34236a75605308fda33e", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 6431, "size": 1821,
"rc": 0 "rc": 0
}, },
"arsenal-offline.html": { "arsenal-offline.html": {
"hash": "5ebc4d5ed1eed4a09d13343c7ce03a68", "hash": "90bb8181e6bbb2dc769be5359f15f758",
"size": 3064, "size": 6459,
"rc": 0
},
"automation-hub.html": {
"hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1821,
"rc": 0 "rc": 0
}, },
"avatar-picker.html": { "avatar-picker.html": {
"hash": "46c3d1588774e0acc98151eacba07f7f", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 11373, "size": 1821,
"rc": 0
},
"azure-reregister.html": {
"hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1821,
"rc": 0
},
"blade-actions.html": {
"hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1821,
"rc": 0 "rc": 0
}, },
"blade-ai.html": { "blade-ai.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"blade-center.html": { "blade-center.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0
},
"blade-control.html": {
"hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1821,
"rc": 0 "rc": 0
}, },
"blade-hub.html": { "blade-hub.html": {
"hash": "e335e362677bab375b542f78c1362ead", "hash": "004395e2e2f9eb677e0977016b98f205",
"size": 8868, "size": 12318,
"rc": 0 "rc": 0
}, },
"blade-install.html": { "blade-install.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"booking.html": { "booking.html": {
"hash": "de0d176def80180c7dac5e8f187c07cc", "hash": "c7c7a91f9106096616152c18040bb154",
"size": 9404, "size": 12961,
"rc": 0 "rc": 0
}, },
"bpmn-studio-NEW.html": { "bpmn-studio-NEW.html": {
"hash": "48e75b361f08e381209a1ff135ba0039", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 6014, "size": 1821,
"rc": 0 "rc": 0
}, },
"bpmn-studio-live.html": { "bpmn-studio-live.html": {
"hash": "1b3f2c76bb26756867b8d4a9c9d7ce13", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 7435, "size": 1821,
"rc": 0 "rc": 0
}, },
"brain-center-tenant.html": { "brain-center-tenant.html": {
"hash": "c38e7cddcf6ad902998057409c82c599", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 5110, "size": 1821,
"rc": 0
},
"candidate-detail.html": {
"hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1821,
"rc": 0
},
"candidates-pool.html": {
"hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1821,
"rc": 0
},
"caps-hub.html": {
"hash": "5d6d4c756676ea9ffc2a5cdc7bdf35bf",
"size": 8583,
"rc": 0 "rc": 0
}, },
"cartographie-screens.html": { "cartographie-screens.html": {
"hash": "c3b98b15f889df8a7346af68bd916c4b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 258098, "size": 1821,
"rc": 0 "rc": 0
}, },
"case-studies.html": { "case-studies.html": {
"hash": "7d79d100397dc2be089e856dc225e711", "hash": "88d147eaf150a43d0fdc7be0e2e525c5",
"size": 13265, "size": 16851,
"rc": 0 "rc": 0
}, },
"cgu.html": { "cgu.html": {
"hash": "c8cb23265cff6b3e128b6a21a03ffafc", "hash": "b3766cf7fa85067d7e569d3731244e07",
"size": 8701, "size": 12096,
"rc": 0 "rc": 0
}, },
"claude-monitor.html": { "claude-monitor.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"claw-chat.html": { "claw-chat.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"claw-code.html": { "claw-code.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"cloudflare-hub.html": { "cloudflare-hub.html": {
"hash": "f1bde004a98f39ca478be9e50f078f27", "hash": "12ad57f642e861e4d852a5378c8386c4",
"size": 15165, "size": 18806,
"rc": 0 "rc": 0
}, },
"command-center.html": { "command-center.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0
},
"consultants-list.html": {
"hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1821,
"rc": 0
},
"contacts-segmentation-dashboard.html": {
"hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1821,
"rc": 0
},
"crm-audit.html": {
"hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1821,
"rc": 0
},
"crm-dashboard-live.html": {
"hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1821,
"rc": 0
},
"crm-pipeline-live.html": {
"hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1821,
"rc": 0 "rc": 0
}, },
"crm.html": { "crm.html": {
"hash": "0533ee879d80a8166217cf88e6563e67", "hash": "734e0306b762fda408db89241dc536a9",
"size": 20460, "size": 25228,
"rc": 0 "rc": 0
}, },
"cron-control.html": { "cron-control.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"crons-monitor.html": { "crons-monitor.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"cyber-monitor.html": { "cyber-monitor.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0
},
"dashboards-hub.html": {
"hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1821,
"rc": 0 "rc": 0
}, },
"data-deletion.html": { "data-deletion.html": {
"hash": "eb9b7cdbf6164162a270182b62b63e13", "hash": "c20f874ea3435e85bf79367214640f27",
"size": 2589, "size": 5984,
"rc": 0
},
"database-dashboard-live.html": {
"hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1821,
"rc": 0
},
"decision-gmail-o365.html": {
"hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1821,
"rc": 0 "rc": 0
}, },
"deepseek-hub.html": { "deepseek-hub.html": {
"hash": "99b9266f6d291ebc9a43844e28fecd16", "hash": "aec44fcee0d21034704f36eebdf96a44",
"size": 6405, "size": 9855,
"rc": 0 "rc": 0
}, },
"deepseek.html": { "deepseek.html": {
"hash": "199d68f8f46299dbc96efb479b18df5a", "hash": "2d2378c7dcdfde0363cdf6da5ce52c56",
"size": 63142, "size": 67672,
"rc": 0 "rc": 0
}, },
"deerflow-hub.html": { "deerflow-hub.html": {
"hash": "fe20ef22d6cc884a62806d22a8b95e6b", "hash": "b731fede84813841fe581fe9523d4657",
"size": 4373, "size": 8014,
"rc": 0
},
"dg-command-center.html": {
"hash": "cb41b503d5fd53f91616c74f5faebf24",
"size": 34681,
"rc": 0 "rc": 0
}, },
"director-center.html": { "director-center.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"director-chat.html": { "director-chat.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"director.html": { "director.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"dmaic-tracker-NEW.html": { "dmaic-tracker-NEW.html": {
"hash": "90f6890a19e566ce7bf4e0bc5571a92e", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 5626, "size": 1821,
"rc": 0 "rc": 0
}, },
"dmaic-workbench.html": { "dmaic-workbench.html": {
"hash": "b34e0e4a39bc8b1c0e158594a6a4ad71", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 6798, "size": 1821,
"rc": 0 "rc": 0
}, },
"docker-hub.html": { "docker-hub.html": {
"hash": "5982dbd337bb1d0e21db4a7ab7e65662", "hash": "d33710ada310a17c24957e2c74428f4e",
"size": 4398, "size": 8039,
"rc": 0
},
"doctrine-53.html": {
"hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1821,
"rc": 0
},
"dormant-dashboard-v2.html": {
"hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1821,
"rc": 0
},
"dormant-dashboard.html": {
"hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1821,
"rc": 0 "rc": 0
}, },
"droid-terminal-hidden.html": { "droid-terminal-hidden.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"droid-terminal.html": { "droid-terminal.html": {
"hash": "38fdac8ab2799cfa2af22295c7355654", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 107, "size": 1821,
"rc": 0 "rc": 0
}, },
"ecosysteme-ia-maroc.html": { "ecosysteme-ia-maroc.html": {
"hash": "ada26eb0bdf53abf73a71df5f0bc5815", "hash": "815a34e1fbefd2ca19289ad3d4b87e5b",
"size": 11412, "size": 14807,
"rc": 0
},
"em-dashboard.html": {
"hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1821,
"rc": 0 "rc": 0
}, },
"email-hub.html": { "email-hub.html": {
"hash": "230987a152258b48c2dfdc5bff79ad15", "hash": "ea145e87eff2467cadeab47efb27dcdc",
"size": 14982, "size": 18623,
"rc": 0
},
"enterprise-complete-v73.html": {
"hash": "dc8394f811840cbbb5ca0e6fe85172bd",
"size": 29606,
"rc": 0
},
"enterprise-complete.html": {
"hash": "531b385cc957fb8745050291aee8f6cc",
"size": 35207,
"rc": 0 "rc": 0
}, },
"enterprise-management.html": { "enterprise-management.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"enterprise-model.html": { "enterprise-model.html": {
"hash": "e476ab9493129db775da7fdb3a879d16", "hash": "15850b17d1c86b943ed6f002dac9171d",
"size": 176886, "size": 200707,
"rc": 0
},
"erp-gap-fill-offer.html": {
"hash": "d689c0959663e48150e01ac3731820a4",
"size": 36827,
"rc": 0
},
"erp-launchpad.html": {
"hash": "050189d91e18c9a45d8caadedb0f5f0d",
"size": 33933,
"rc": 0 "rc": 0
}, },
"ethica-chatbot.html": { "ethica-chatbot.html": {
"hash": "2cf4d7a2e0bbc6489d140a444a0eb9b2", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 9827, "size": 1821,
"rc": 0
},
"ethica-country.html": {
"hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1821,
"rc": 0
},
"ethica-dashboard-live.html": {
"hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1821,
"rc": 0
},
"ethica-drill.html": {
"hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1821,
"rc": 0 "rc": 0
}, },
"ethica-hcp-manager.html": { "ethica-hcp-manager.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"ethica-hub.html": { "ethica-hub.html": {
"hash": "f6da12335572d20130d9dff1b7173108", "hash": "abe0b6ea6831579a63af7f93b076bdf8",
"size": 16892, "size": 21508,
"rc": 0 "rc": 0
}, },
"ethica-login.html": { "ethica-login.html": {
"hash": "21ee3c809c66c8a2cc78921fc176c30a", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 8595, "size": 1821,
"rc": 0 "rc": 0
}, },
"ethica-monitor.html": { "ethica-monitor.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0 "rc": 0
}, },
"ethica-pipeline.html": { "ethica-pipeline.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b", "hash": "3e4b4a376a48a2c55c196204dd0d5441",
"size": 1683, "size": 1821,
"rc": 0
},
"faq-anti-regression.html": {
"hash": "cf3f27802804a1cb0438939613889a4c",
"size": 5480,
"rc": 0
},
"faq-techniques.html": {
"hash": "6d17d8c734d7079749f368ac66fd6cc0",
"size": 41761,
"rc": 0
},
"github-hub.html": {
"hash": "14ae8abdaad12cac0e1dda6fb1a66239",
"size": 4404,
"rc": 0
},
"golive.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b",
"size": 1683,
"rc": 0
},
"google-hub.html": {
"hash": "025b8d5c6556af5cc709e274da4f97a2",
"size": 14426,
"rc": 0
},
"googlecba1a80ba979325c.html": {
"hash": "f4aef832f17c4aa973ed30b4d6bdf431",
"size": 54,
"rc": 0
},
"gpu-hub.html": {
"hash": "cb8d4e16d923d0779c07d36238bc5806",
"size": 16135,
"rc": 0
},
"growth-engine-v2.html": {
"hash": "8881f7c91aa174393d55fdb7c5ed2919",
"size": 38476,
"rc": 0
},
"growth-engine.html": {
"hash": "9948d57dd2cdedb863befe221be125a1",
"size": 35584,
"rc": 0
},
"gws-setup.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b",
"size": 1683,
"rc": 0
},
"hetzner-hub.html": {
"hash": "872967d8afffebd242588f4e16b3affa",
"size": 4385,
"rc": 0
},
"huawei-cloud.html": {
"hash": "8636053aaa0806454d7d98949577e0bc",
"size": 30354,
"rc": 0
},
"huggingface-hub.html": {
"hash": "64b845304cd0ba720c0132458034481a",
"size": 6220,
"rc": 0
},
"ia-registre.html": {
"hash": "d0a6ce3521df1eca656699465c1fe1d5",
"size": 39051,
"rc": 0
},
"ia-sovereign-registry.html": {
"hash": "7749fdf657fdae5ea63c4824d12b9d4d",
"size": 6844,
"rc": 0
},
"index.html": {
"hash": "61e2c7910936a0e4be877cd6be455006",
"size": 24804,
"rc": 0
},
"infra-command.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b",
"size": 1683,
"rc": 0
},
"infra-monitor.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b",
"size": 1683,
"rc": 0
},
"integrations-marketplace.html": {
"hash": "bee9119b1b42a53e61b0b826087e4f1a",
"size": 12070,
"rc": 0
},
"intents-registry.html": {
"hash": "cb79398b740126e494d64e72c8b1890b",
"size": 51756,
"rc": 0
},
"keys-hub.html": {
"hash": "5b612ab282c579204478faed493632e9",
"size": 16608,
"rc": 0
},
"knowledge-hub.html": {
"hash": "8359491f4e6c3728e4d192b510bb9e6a",
"size": 7322,
"rc": 0
},
"kpi-live-dashboard.html": {
"hash": "a1d500ff5e597c1b36e3d3c2ffeb579f",
"size": 3415,
"rc": 0
},
"l99-brain.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b",
"size": 1683,
"rc": 0
},
"l99-fullscreen.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b",
"size": 1683,
"rc": 0
},
"l99-saas.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b",
"size": 1683,
"rc": 0
},
"l99-v2.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b",
"size": 1683,
"rc": 0
},
"l99.html": {
"hash": "ba347367c6a2b71cdbfef448a2e0d94b",
"size": 1683,
"rc": 0
},
"lean6sigma-dashboard.html": {
"hash": "7354cb75b815df70302fbe6099974bc5",
"size": 13775,
"rc": 0
},
"login.html": {
"hash": "d179f7ad68b199baf104786fcc01d937",
"size": 7387,
"rc": 0 "rc": 0
} }
}, },
"apis": { "apis": {
"agents-status.php": { "agents-status.php": {
"hash": "74ab5133a7cec5e504dc98261da15ea0", "hash": "779789b7a44d40164cff7bf7476d2f20",
"size": 7279, "size": 7279,
"rc": 0 "rc": 0
}, },
"enterprise-sync.php": { "enterprise-sync.php": {
"hash": "91ee3634c8af6bc351f48ca3c03f6541", "hash": "3fa6641c88625f8588b59259e6424134",
"size": 17767, "size": 25600,
"rc": 0 "rc": 0
}, },
"nonreg-api.php": { "nonreg-api.php": {
"hash": "2a0ec70a86b26d4a3110b36b0d788446", "hash": "db8b00678a1c64bf75c46aeb0535a914",
"size": 719, "size": 750,
"rc": 0 "rc": 0
}, },
"l99-api.php": { "l99-api.php": {
"hash": "5643521075d9af355cb5b54291db1198", "hash": "0c83879f0516b9d95234fb162f4846e0",
"size": 3029, "size": 3031,
"rc": 0 "rc": 0
}, },
"weval-ia": { "weval-ia": {
@@ -528,8 +528,8 @@
"rc": 0 "rc": 0
}, },
"infra-monitor-api.php": { "infra-monitor-api.php": {
"hash": "706e10ed55a717900252a20e336412f1", "hash": "c7d06c1a8de536409a312079ecc06da7",
"size": 30020, "size": 39402,
"rc": 0 "rc": 0
}, },
"blade-agent.php": { "blade-agent.php": {
@@ -539,33 +539,33 @@
} }
}, },
"docker": { "docker": {
"loki": "Up 13 hours", "loki": "Up 4 days",
"listmonk": "Up 16 hours", "listmonk": "Up 4 days",
"plausible-plausible-1": "Up 16 hours", "plausible-plausible-1": "Up 2 days",
"plausible-plausible-db-1": "Up 16 hours", "plausible-plausible-db-1": "Up 2 days",
"plausible-plausible-events-db-1": "Up 16 hours", "plausible-plausible-events-db-1": "Up 2 days",
"n8n-docker-n8n-1": "Up 22 hours", "n8n-docker-n8n-1": "Up 4 days",
"mattermost-docker-mm-db-1": "Up 22 hours", "mattermost-docker-mm-db-1": "Up 4 days",
"mattermost-docker-mattermost-1": "Up 22 hours (healthy)", "mattermost-docker-mattermost-1": "Up 4 days (healthy)",
"twenty": "Up 15 hours", "twenty": "Up 4 days",
"twenty-redis": "Up 22 hours", "twenty-redis": "Up 4 days",
"langfuse": "Up 25 hours", "langfuse": "Up 4 days",
"redis-weval": "Up 2 days", "redis-weval": "Up 5 days",
"gitea": "Up 2 days", "gitea": "Up 5 days",
"node-exporter": "Up 2 days", "node-exporter": "Up 5 days",
"prometheus": "Up 2 days", "prometheus": "Up 5 days",
"searxng": "Up 2 days", "searxng": "Up 5 days",
"uptime-kuma": "Up 2 days (healthy)", "uptime-kuma": "Up 13 hours (healthy)",
"vaultwarden": "Up 2 days (healthy)", "vaultwarden": "Up 5 days (healthy)",
"qdrant": "Up 2 days" "qdrant": "Up 5 days"
}, },
"crons": {}, "crons": {},
"files": {}, "files": {},
"blade": { "blade": {
"ts": "2026-04-17T01:14:31+00:00", "ts": "2026-04-20T13:37:17+00:00",
"hostname": "blade", "hostname": "blade",
"age_min": 0 "age_min": 0
}, },
"paperclip_count": 930, "paperclip_count": 930,
"disk_pct": "85%" "disk_pct": "78%"
} }

View File

@@ -1,3 +1,3 @@
2026/04/20-15:21:00.653 ed22c Reusing MANIFEST /opt/weval-l99/browser-sessions/linkedin/Default/IndexedDB/https_www.linkedin.com_0.indexeddb.leveldb/MANIFEST-000001 2026/04/20-15:23:44.589 efd2d Reusing MANIFEST /opt/weval-l99/browser-sessions/linkedin/Default/IndexedDB/https_www.linkedin.com_0.indexeddb.leveldb/MANIFEST-000001
2026/04/20-15:21:00.654 ed22c Recovering log #3 2026/04/20-15:23:44.589 efd2d Recovering log #3
2026/04/20-15:21:00.654 ed22c Reusing old log /opt/weval-l99/browser-sessions/linkedin/Default/IndexedDB/https_www.linkedin.com_0.indexeddb.leveldb/000003.log 2026/04/20-15:23:44.589 efd2d Reusing old log /opt/weval-l99/browser-sessions/linkedin/Default/IndexedDB/https_www.linkedin.com_0.indexeddb.leveldb/000003.log

View File

@@ -1,2 +1,3 @@
2026/04/20-15:18:36.335 eaaa3 Creating DB /opt/weval-l99/browser-sessions/linkedin/Default/IndexedDB/https_www.linkedin.com_0.indexeddb.leveldb since it was missing. 2026/04/20-15:21:00.653 ed22c Reusing MANIFEST /opt/weval-l99/browser-sessions/linkedin/Default/IndexedDB/https_www.linkedin.com_0.indexeddb.leveldb/MANIFEST-000001
2026/04/20-15:18:36.341 eaaa3 Reusing MANIFEST /opt/weval-l99/browser-sessions/linkedin/Default/IndexedDB/https_www.linkedin.com_0.indexeddb.leveldb/MANIFEST-000001 2026/04/20-15:21:00.654 ed22c Recovering log #3
2026/04/20-15:21:00.654 ed22c Reusing old log /opt/weval-l99/browser-sessions/linkedin/Default/IndexedDB/https_www.linkedin.com_0.indexeddb.leveldb/000003.log

View File

@@ -1,3 +1,3 @@
2026/04/20-15:20:59.231 ed22c Reusing MANIFEST /opt/weval-l99/browser-sessions/linkedin/Default/Local Storage/leveldb/MANIFEST-000001 2026/04/20-15:23:43.554 efd2b Reusing MANIFEST /opt/weval-l99/browser-sessions/linkedin/Default/Local Storage/leveldb/MANIFEST-000001
2026/04/20-15:20:59.248 ed22c Recovering log #3 2026/04/20-15:23:43.567 efd2b Recovering log #3
2026/04/20-15:20:59.248 ed22c Reusing old log /opt/weval-l99/browser-sessions/linkedin/Default/Local Storage/leveldb/000003.log 2026/04/20-15:23:43.567 efd2b Reusing old log /opt/weval-l99/browser-sessions/linkedin/Default/Local Storage/leveldb/000003.log

View File

@@ -1,2 +1,3 @@
2026/04/20-15:18:34.994 eaaa3 Creating DB /opt/weval-l99/browser-sessions/linkedin/Default/Local Storage/leveldb since it was missing. 2026/04/20-15:20:59.231 ed22c Reusing MANIFEST /opt/weval-l99/browser-sessions/linkedin/Default/Local Storage/leveldb/MANIFEST-000001
2026/04/20-15:18:35.012 eaaa3 Reusing MANIFEST /opt/weval-l99/browser-sessions/linkedin/Default/Local Storage/leveldb/MANIFEST-000001 2026/04/20-15:20:59.248 ed22c Recovering log #3
2026/04/20-15:20:59.248 ed22c Reusing old log /opt/weval-l99/browser-sessions/linkedin/Default/Local Storage/leveldb/000003.log

View File

@@ -1,3 +1,3 @@
2026/04/20-15:21:00.013 ed22c Reusing MANIFEST /opt/weval-l99/browser-sessions/linkedin/Default/Session Storage/MANIFEST-000001 2026/04/20-15:23:44.222 efd2b Reusing MANIFEST /opt/weval-l99/browser-sessions/linkedin/Default/Session Storage/MANIFEST-000001
2026/04/20-15:21:00.014 ed22c Recovering log #3 2026/04/20-15:23:44.222 efd2b Recovering log #3
2026/04/20-15:21:00.014 ed22c Reusing old log /opt/weval-l99/browser-sessions/linkedin/Default/Session Storage/000003.log 2026/04/20-15:23:44.223 efd2b Reusing old log /opt/weval-l99/browser-sessions/linkedin/Default/Session Storage/000003.log

View File

@@ -1,2 +1,3 @@
2026/04/20-15:18:35.688 eaaa3 Creating DB /opt/weval-l99/browser-sessions/linkedin/Default/Session Storage since it was missing. 2026/04/20-15:21:00.013 ed22c Reusing MANIFEST /opt/weval-l99/browser-sessions/linkedin/Default/Session Storage/MANIFEST-000001
2026/04/20-15:18:35.695 eaaa3 Reusing MANIFEST /opt/weval-l99/browser-sessions/linkedin/Default/Session Storage/MANIFEST-000001 2026/04/20-15:21:00.014 ed22c Recovering log #3
2026/04/20-15:21:00.014 ed22c Reusing old log /opt/weval-l99/browser-sessions/linkedin/Default/Session Storage/000003.log

View File

@@ -1,3 +1,3 @@
2026/04/20-15:20:59.293 ed22c Reusing MANIFEST /opt/weval-l99/browser-sessions/linkedin/Default/shared_proto_db/MANIFEST-000001 2026/04/20-15:23:43.581 efd2b Reusing MANIFEST /opt/weval-l99/browser-sessions/linkedin/Default/shared_proto_db/MANIFEST-000001
2026/04/20-15:20:59.293 ed22c Recovering log #3 2026/04/20-15:23:43.581 efd2b Recovering log #3
2026/04/20-15:20:59.293 ed22c Reusing old log /opt/weval-l99/browser-sessions/linkedin/Default/shared_proto_db/000003.log 2026/04/20-15:23:43.581 efd2b Reusing old log /opt/weval-l99/browser-sessions/linkedin/Default/shared_proto_db/000003.log

View File

@@ -1,2 +1,3 @@
2026/04/20-15:18:35.023 eaaa5 Creating DB /opt/weval-l99/browser-sessions/linkedin/Default/shared_proto_db since it was missing. 2026/04/20-15:20:59.293 ed22c Reusing MANIFEST /opt/weval-l99/browser-sessions/linkedin/Default/shared_proto_db/MANIFEST-000001
2026/04/20-15:18:35.027 eaaa5 Reusing MANIFEST /opt/weval-l99/browser-sessions/linkedin/Default/shared_proto_db/MANIFEST-000001 2026/04/20-15:20:59.293 ed22c Recovering log #3
2026/04/20-15:20:59.293 ed22c Reusing old log /opt/weval-l99/browser-sessions/linkedin/Default/shared_proto_db/000003.log

View File

@@ -1,3 +1,3 @@
2026/04/20-15:20:59.291 ed22c Reusing MANIFEST /opt/weval-l99/browser-sessions/linkedin/Default/shared_proto_db/metadata/MANIFEST-000001 2026/04/20-15:23:43.579 efd31 Reusing MANIFEST /opt/weval-l99/browser-sessions/linkedin/Default/shared_proto_db/metadata/MANIFEST-000001
2026/04/20-15:20:59.291 ed22c Recovering log #3 2026/04/20-15:23:43.579 efd31 Recovering log #3
2026/04/20-15:20:59.292 ed22c Reusing old log /opt/weval-l99/browser-sessions/linkedin/Default/shared_proto_db/metadata/000003.log 2026/04/20-15:23:43.580 efd31 Reusing old log /opt/weval-l99/browser-sessions/linkedin/Default/shared_proto_db/metadata/000003.log

View File

@@ -1,2 +1,3 @@
2026/04/20-15:18:35.019 eaaa5 Creating DB /opt/weval-l99/browser-sessions/linkedin/Default/shared_proto_db/metadata since it was missing. 2026/04/20-15:20:59.291 ed22c Reusing MANIFEST /opt/weval-l99/browser-sessions/linkedin/Default/shared_proto_db/metadata/MANIFEST-000001
2026/04/20-15:18:35.023 eaaa5 Reusing MANIFEST /opt/weval-l99/browser-sessions/linkedin/Default/shared_proto_db/metadata/MANIFEST-000001 2026/04/20-15:20:59.291 ed22c Recovering log #3
2026/04/20-15:20:59.292 ed22c Reusing old log /opt/weval-l99/browser-sessions/linkedin/Default/shared_proto_db/metadata/000003.log

View File

@@ -1,5 +1,5 @@
{ {
"ts": "2026-04-20T15:00:02.219982", "ts": "2026-04-20T15:30:02.235203",
"tests": [ "tests": [
{ {
"name": "Sovereign responds", "name": "Sovereign responds",
@@ -44,7 +44,7 @@
{ {
"name": "Master API", "name": "Master API",
"s": "PASS", "s": "PASS",
"o": "{\n \"version\": \"1.0.0\",\n \"timestamp\": \"2026-04-20T13:00" "o": "{\n \"version\": \"1.0.0\",\n \"timestamp\": \"2026-04-20T13:30"
}, },
{ {
"name": "Disk <90", "name": "Disk <90",
@@ -54,7 +54,7 @@
{ {
"name": "Crons >30", "name": "Crons >30",
"s": "PASS", "s": "PASS",
"o": "278" "o": "281"
}, },
{ {
"name": "Git brain clean", "name": "Git brain clean",

View File

@@ -1,5 +1,5 @@
{ {
"timestamp": "2026-04-20T15:20:02.452649", "timestamp": "2026-04-20T15:35:02.521991",
"layers": { "layers": {
"DOCKER": { "DOCKER": {
"pass": 19, "pass": 19,

8
list_v93.sh Normal file
View File

@@ -0,0 +1,8 @@
#!/bin/bash
echo "=== Videos ==="
ls -la /tmp/v93b-videos/ 2>/dev/null
echo ""
echo "=== Screenshots ==="
ls -la /tmp/v93b-*.png 2>/dev/null | wc -l
echo "Files:"
ls -la /tmp/v93b-*.png 2>/dev/null | awk '{print $5, $9}'

View File

@@ -0,0 +1,263 @@
[15:28:45] 🚀 L99-ALIVE v1.0 starting...
[15:28:45] Time: 2026-04-20T15:28:45.921167
[15:28:45] 🔍 PHASE 1: Detecting changes...
[15:28:45] Scanning HTML pages...
[15:28:46] ✅ [CHANGE-DETECT] changed 404.html — old=4749 new=8144
[15:28:46] ✅ [CHANGE-DETECT] new page acquired-dashboard.html — size=35604
[15:28:46] ✅ [CHANGE-DETECT] changed admin-saas.html — old=1683 new=1821
[15:28:47] ✅ [CHANGE-DETECT] changed admin-v2.html — old=1683 new=1821
[15:28:47] ✅ [CHANGE-DETECT] changed admin.html — old=1683 new=1821
[15:28:47] ✅ [CHANGE-DETECT] new page agent-roi-simulator.html — size=33588
[15:28:47] ✅ [CHANGE-DETECT] changed agents-3d.html — old=1683 new=1821
[15:28:48] ✅ [CHANGE-DETECT] changed agents-alive.html — old=1683 new=1821
[15:28:48] ✅ [CHANGE-DETECT] changed agents-archi.html — old=1683 new=1821
[15:28:48] ✅ [CHANGE-DETECT] changed agents-final.html — old=1683 new=1821
[15:28:49] ✅ [CHANGE-DETECT] changed agents-fleet.html — old=1683 new=1821
[15:28:49] ✅ [CHANGE-DETECT] changed agents-goodjob.html — old=1683 new=1821
[15:28:49] ✅ [CHANGE-DETECT] changed agents-hd.html — old=1683 new=1821
[15:28:50] ✅ [CHANGE-DETECT] changed agents-hd2.html — old=1683 new=1821
[15:28:50] ✅ [CHANGE-DETECT] changed agents-hub.html — old=9259 new=1821
[15:28:50] ✅ [CHANGE-DETECT] changed agents-ia.html — old=1683 new=1821
[15:28:51] ✅ [CHANGE-DETECT] changed agents-iso3d.html — old=1683 new=1821
[15:28:51] ✅ [CHANGE-DETECT] new page agents-unified-registry.html — size=1821
[15:28:51] ✅ [CHANGE-DETECT] changed agents-valuechain.html — old=1683 new=1821
[15:28:52] ✅ [CHANGE-DETECT] changed ai-benchmark.html — old=1683 new=1821
[15:28:52] ✅ [CHANGE-DETECT] changed ai-hub.html — old=17398 new=21039
[15:28:52] ✅ [CHANGE-DETECT] changed all-screens-live.html — old=72 new=1821
[15:28:53] ✅ [CHANGE-DETECT] changed anthropic-hub.html — old=6227 new=1821
[15:28:53] ✅ [CHANGE-DETECT] changed api-key-hub.html — old=12517 new=16158
[15:28:53] ✅ [CHANGE-DETECT] changed apps.html — old=1683 new=1821
[15:28:53] ✅ [CHANGE-DETECT] changed architecture-live.html — old=32116 new=1821
[15:28:54] ✅ [CHANGE-DETECT] changed architecture-map.html — old=31488 new=1821
[15:28:54] ✅ [CHANGE-DETECT] changed architecture.html — old=51850 new=1821
[15:28:54] ✅ [CHANGE-DETECT] changed arsenal-login.html — old=6431 new=1821
[15:28:54] ✅ [CHANGE-DETECT] changed arsenal-offline.html — old=3064 new=6459
[15:28:55] ✅ [CHANGE-DETECT] new page automation-hub.html — size=1821
[15:28:55] ✅ [CHANGE-DETECT] changed avatar-picker.html — old=11373 new=1821
[15:28:55] ✅ [CHANGE-DETECT] new page azure-reregister.html — size=1821
[15:28:56] ✅ [CHANGE-DETECT] new page blade-actions.html — size=1821
[15:28:56] ✅ [CHANGE-DETECT] changed blade-ai.html — old=1683 new=1821
[15:28:56] ✅ [CHANGE-DETECT] changed blade-center.html — old=1683 new=1821
[15:28:57] ✅ [CHANGE-DETECT] new page blade-control.html — size=1821
[15:28:57] ✅ [CHANGE-DETECT] changed blade-hub.html — old=8868 new=12318
[15:28:57] ✅ [CHANGE-DETECT] changed blade-install.html — old=1683 new=1821
[15:28:57] ✅ [CHANGE-DETECT] changed booking.html — old=9404 new=12961
[15:28:58] ✅ [CHANGE-DETECT] changed bpmn-studio-NEW.html — old=6014 new=1821
[15:28:58] ✅ [CHANGE-DETECT] changed bpmn-studio-live.html — old=7435 new=1821
[15:28:58] ✅ [CHANGE-DETECT] changed brain-center-tenant.html — old=5110 new=1821
[15:28:59] ✅ [CHANGE-DETECT] new page candidate-detail.html — size=1821
[15:28:59] ✅ [CHANGE-DETECT] new page candidates-pool.html — size=1821
[15:28:59] ✅ [CHANGE-DETECT] new page caps-hub.html — size=8583
[15:28:59] ✅ [CHANGE-DETECT] changed cartographie-screens.html — old=258098 new=1821
[15:29:00] ✅ [CHANGE-DETECT] changed case-studies.html — old=13265 new=16851
[15:29:00] ✅ [CHANGE-DETECT] changed cgu.html — old=8701 new=12096
[15:29:00] ✅ [CHANGE-DETECT] changed claude-monitor.html — old=1683 new=1821
[15:29:00] ✅ [CHANGE-DETECT] changed claw-chat.html — old=1683 new=1821
[15:29:01] ✅ [CHANGE-DETECT] changed claw-code.html — old=1683 new=1821
[15:29:01] ✅ [CHANGE-DETECT] changed cloudflare-hub.html — old=15165 new=18806
[15:29:01] ✅ [CHANGE-DETECT] changed command-center.html — old=1683 new=1821
[15:29:02] ✅ [CHANGE-DETECT] new page consultants-list.html — size=1821
[15:29:02] ✅ [CHANGE-DETECT] new page contacts-segmentation-dashboard.html — size=1821
[15:29:02] ✅ [CHANGE-DETECT] new page crm-audit.html — size=1821
[15:29:03] ✅ [CHANGE-DETECT] new page crm-dashboard-live.html — size=1821
[15:29:03] ✅ [CHANGE-DETECT] new page crm-pipeline-live.html — size=1821
[15:29:03] ✅ [CHANGE-DETECT] changed crm.html — old=20460 new=25228
[15:29:03] ✅ [CHANGE-DETECT] changed cron-control.html — old=1683 new=1821
[15:29:04] ✅ [CHANGE-DETECT] changed crons-monitor.html — old=1683 new=1821
[15:29:04] ✅ [CHANGE-DETECT] changed cyber-monitor.html — old=1683 new=1821
[15:29:04] ✅ [CHANGE-DETECT] new page dashboards-hub.html — size=1821
[15:29:05] ✅ [CHANGE-DETECT] changed data-deletion.html — old=2589 new=5984
[15:29:05] ✅ [CHANGE-DETECT] new page database-dashboard-live.html — size=1821
[15:29:05] ✅ [CHANGE-DETECT] new page decision-gmail-o365.html — size=1821
[15:29:05] ✅ [CHANGE-DETECT] changed deepseek-hub.html — old=6405 new=9855
[15:29:06] ✅ [CHANGE-DETECT] changed deepseek.html — old=63142 new=67672
[15:29:06] ✅ [CHANGE-DETECT] changed deerflow-hub.html — old=4373 new=8014
[15:29:06] ✅ [CHANGE-DETECT] new page dg-command-center.html — size=34681
[15:29:06] ✅ [CHANGE-DETECT] changed director-center.html — old=1683 new=1821
[15:29:06] ✅ [CHANGE-DETECT] changed director-chat.html — old=1683 new=1821
[15:29:07] ✅ [CHANGE-DETECT] changed director.html — old=1683 new=1821
[15:29:07] ✅ [CHANGE-DETECT] changed dmaic-tracker-NEW.html — old=5626 new=1821
[15:29:07] ✅ [CHANGE-DETECT] changed dmaic-workbench.html — old=6798 new=1821
[15:29:08] ✅ [CHANGE-DETECT] changed docker-hub.html — old=4398 new=8039
[15:29:08] ✅ [CHANGE-DETECT] new page doctrine-53.html — size=1821
[15:29:08] ✅ [CHANGE-DETECT] new page dormant-dashboard-v2.html — size=1821
[15:29:08] ✅ [CHANGE-DETECT] new page dormant-dashboard.html — size=1821
[15:29:09] ✅ [CHANGE-DETECT] changed droid-terminal-hidden.html — old=1683 new=1821
[15:29:09] ✅ [CHANGE-DETECT] changed droid-terminal.html — old=107 new=1821
[15:29:09] ✅ [CHANGE-DETECT] changed ecosysteme-ia-maroc.html — old=11412 new=14807
[15:29:10] ✅ [CHANGE-DETECT] new page em-dashboard.html — size=1821
[15:29:10] ✅ [CHANGE-DETECT] changed email-hub.html — old=14982 new=18623
[15:29:10] ✅ [CHANGE-DETECT] new page enterprise-complete-v73.html — size=29606
[15:29:10] ✅ [CHANGE-DETECT] new page enterprise-complete.html — size=35207
[15:29:10] ✅ [CHANGE-DETECT] changed enterprise-management.html — old=1683 new=1821
[15:29:11] ✅ [CHANGE-DETECT] changed enterprise-model.html — old=176886 new=200639
[15:29:11] ✅ [CHANGE-DETECT] new page erp-gap-fill-offer.html — size=36827
[15:29:11] ✅ [CHANGE-DETECT] new page erp-launchpad.html — size=33933
[15:29:11] ✅ [CHANGE-DETECT] changed ethica-chatbot.html — old=9827 new=1821
[15:29:12] ✅ [CHANGE-DETECT] new page ethica-country.html — size=1821
[15:29:12] ✅ [CHANGE-DETECT] new page ethica-dashboard-live.html — size=1821
[15:29:12] ✅ [CHANGE-DETECT] new page ethica-drill.html — size=1821
[15:29:13] ✅ [CHANGE-DETECT] changed ethica-hcp-manager.html — old=1683 new=1821
[15:29:13] ✅ [CHANGE-DETECT] changed ethica-hub.html — old=16892 new=20435
[15:29:13] ✅ [CHANGE-DETECT] changed ethica-login.html — old=8595 new=1821
[15:29:13] ✅ [CHANGE-DETECT] changed ethica-monitor.html — old=1683 new=1821
[15:29:14] ✅ [CHANGE-DETECT] changed ethica-pipeline.html — old=1683 new=1821
[15:29:14] Scanning APIs...
[15:29:18] Scanning Docker...
[15:29:18] Checking S95...
[15:29:19] ✅ [S95-HEALTH] Sentinel reachable
[15:29:19] ✅ [S95-HEALTH] PMTA active
[15:29:19] ✅ [S95-HEALTH] KumoMTA active
[15:29:19] Checking S151...
[15:29:19] ✅ [S151-HEALTH] HTTP 200
[15:29:19] Checking Blade...
[15:29:19] ✅ [BLADE-HEALTH] heartbeat fresh — 1min ago, blade
[15:29:19] Checking Paperclip...
[15:29:19] ✅ [PAPERCLIP] service live (HTTP 200)
[15:29:19] Checking disk...
[15:29:19] ✅ [DISK] usage 78% — 78%
[15:29:19] 🔍 Changes detected: 102
[15:29:19] 📸 PHASE 2: Auto-testing pages...
[15:29:24] ✅ [PAGE-TEST] agents-archi.html OK — body=3351, 0 JS errors
[15:29:28] ✅ [PAGE-TEST] crm.html OK — body=127, 0 JS errors
[15:29:32] ✅ [PAGE-TEST] admin.html OK — body=4737, 0 JS errors
[15:29:36] ✅ [PAGE-TEST] agents-goodjob.html OK — body=52, 0 JS errors
[15:29:40] ✅ [PAGE-TEST] blade-ai.html OK — body=771, 0 JS errors
[15:29:43] ✅ [PAGE-TEST] agents-fleet.html OK — body=401, 0 JS errors
[15:29:46] ✅ [PAGE-TEST] ai-benchmark.html OK — body=195, 0 JS errors
[15:29:49] ✅ [PAGE-TEST] admin-saas.html OK — body=1435, 0 JS errors
[15:29:53] ✅ [PAGE-TEST] agents-valuechain.html OK — body=1402, 0 JS errors
[15:29:56] ✅ [PAGE-TEST] crons-monitor.html OK — body=153, 0 JS errors
[15:29:56] 🎬 Recording enterprise viz video...
[15:30:18] ✅ [VIDEO-TEST] enterprise viz 135 agents — video recorded
[15:30:20] 🖥️ PHASE 3: Infrastructure tests...
[15:30:20] ✅ [DOCKER] 19 containers UP — 0 down
[15:30:20] ✅ [SYSTEMD] deerflow — active
[15:30:20] ❌ [SYSTEMD] deerflow-web — activating
[15:30:20] ✅ [SYSTEMD] ollama — active
[15:30:20] ✅ [SYSTEMD] search-proxy — active
[15:30:20] ✅ [SYSTEMD] crowdsec — active
[15:30:20] ✅ [SYSTEMD] fail2ban — active
[15:30:21] ✅ [PORTS-S204] :80 nginx — HTTP 301
[15:30:21] ✅ [PORTS-S204] :443 https — HTTP 400
[15:30:21] ✅ [PORTS-S204] :5678 n8n — HTTP 200
[15:30:21] ✅ [PORTS-S204] :8080 searxng — HTTP 200
[15:30:21] ✅ [PORTS-S204] :11434 ollama — HTTP 200
[15:30:21] ✅ [PORTS-S204] :6333 qdrant — HTTP 200
[15:30:21] ✅ [NONREG] 153/153 PASS
[15:30:21] ✅ [OLLAMA] 7 models loaded
[15:30:21] 💾 PHASE 4: Saving results...
[15:30:21]
==================================================
[15:30:21] L99-ALIVE REPORT
[15:30:21] ==================================================
[15:30:21] Tests: 133 (132 PASS, 1 FAIL, 0 WARN)
[15:30:21] Layers: 13
[15:30:21] Changes: 102
[15:30:21] Screenshots: 10
[15:30:21] Videos: 1
[15:30:21] ⚡ CHANGED PAGE: 404.html
[15:30:21] ⚡ NEW PAGE: acquired-dashboard.html
[15:30:21] ⚡ CHANGED PAGE: admin-saas.html
[15:30:21] ⚡ CHANGED PAGE: admin-v2.html
[15:30:21] ⚡ CHANGED PAGE: admin.html
[15:30:21] ⚡ NEW PAGE: agent-roi-simulator.html
[15:30:21] ⚡ CHANGED PAGE: agents-3d.html
[15:30:21] ⚡ CHANGED PAGE: agents-alive.html
[15:30:21] ⚡ CHANGED PAGE: agents-archi.html
[15:30:21] ⚡ CHANGED PAGE: agents-final.html
[15:30:21] ⚡ CHANGED PAGE: agents-fleet.html
[15:30:21] ⚡ CHANGED PAGE: agents-goodjob.html
[15:30:21] ⚡ CHANGED PAGE: agents-hd.html
[15:30:21] ⚡ CHANGED PAGE: agents-hd2.html
[15:30:21] ⚡ CHANGED PAGE: agents-hub.html
[15:30:21] ⚡ CHANGED PAGE: agents-ia.html
[15:30:21] ⚡ CHANGED PAGE: agents-iso3d.html
[15:30:21] ⚡ NEW PAGE: agents-unified-registry.html
[15:30:21] ⚡ CHANGED PAGE: agents-valuechain.html
[15:30:21] ⚡ CHANGED PAGE: ai-benchmark.html
[15:30:21] ⚡ CHANGED PAGE: ai-hub.html
[15:30:21] ⚡ CHANGED PAGE: all-screens-live.html
[15:30:21] ⚡ CHANGED PAGE: anthropic-hub.html
[15:30:21] ⚡ CHANGED PAGE: api-key-hub.html
[15:30:21] ⚡ CHANGED PAGE: apps.html
[15:30:21] ⚡ CHANGED PAGE: architecture-live.html
[15:30:21] ⚡ CHANGED PAGE: architecture-map.html
[15:30:21] ⚡ CHANGED PAGE: architecture.html
[15:30:21] ⚡ CHANGED PAGE: arsenal-login.html
[15:30:21] ⚡ CHANGED PAGE: arsenal-offline.html
[15:30:21] ⚡ NEW PAGE: automation-hub.html
[15:30:21] ⚡ CHANGED PAGE: avatar-picker.html
[15:30:21] ⚡ NEW PAGE: azure-reregister.html
[15:30:21] ⚡ NEW PAGE: blade-actions.html
[15:30:21] ⚡ CHANGED PAGE: blade-ai.html
[15:30:21] ⚡ CHANGED PAGE: blade-center.html
[15:30:21] ⚡ NEW PAGE: blade-control.html
[15:30:21] ⚡ CHANGED PAGE: blade-hub.html
[15:30:21] ⚡ CHANGED PAGE: blade-install.html
[15:30:21] ⚡ CHANGED PAGE: booking.html
[15:30:21] ⚡ CHANGED PAGE: bpmn-studio-NEW.html
[15:30:21] ⚡ CHANGED PAGE: bpmn-studio-live.html
[15:30:21] ⚡ CHANGED PAGE: brain-center-tenant.html
[15:30:21] ⚡ NEW PAGE: candidate-detail.html
[15:30:21] ⚡ NEW PAGE: candidates-pool.html
[15:30:21] ⚡ NEW PAGE: caps-hub.html
[15:30:21] ⚡ CHANGED PAGE: cartographie-screens.html
[15:30:21] ⚡ CHANGED PAGE: case-studies.html
[15:30:21] ⚡ CHANGED PAGE: cgu.html
[15:30:21] ⚡ CHANGED PAGE: claude-monitor.html
[15:30:21] ⚡ CHANGED PAGE: claw-chat.html
[15:30:21] ⚡ CHANGED PAGE: claw-code.html
[15:30:21] ⚡ CHANGED PAGE: cloudflare-hub.html
[15:30:21] ⚡ CHANGED PAGE: command-center.html
[15:30:21] ⚡ NEW PAGE: consultants-list.html
[15:30:21] ⚡ NEW PAGE: contacts-segmentation-dashboard.html
[15:30:21] ⚡ NEW PAGE: crm-audit.html
[15:30:21] ⚡ NEW PAGE: crm-dashboard-live.html
[15:30:21] ⚡ NEW PAGE: crm-pipeline-live.html
[15:30:21] ⚡ CHANGED PAGE: crm.html
[15:30:21] ⚡ CHANGED PAGE: cron-control.html
[15:30:21] ⚡ CHANGED PAGE: crons-monitor.html
[15:30:21] ⚡ CHANGED PAGE: cyber-monitor.html
[15:30:21] ⚡ NEW PAGE: dashboards-hub.html
[15:30:21] ⚡ CHANGED PAGE: data-deletion.html
[15:30:21] ⚡ NEW PAGE: database-dashboard-live.html
[15:30:21] ⚡ NEW PAGE: decision-gmail-o365.html
[15:30:21] ⚡ CHANGED PAGE: deepseek-hub.html
[15:30:21] ⚡ CHANGED PAGE: deepseek.html
[15:30:21] ⚡ CHANGED PAGE: deerflow-hub.html
[15:30:21] ⚡ NEW PAGE: dg-command-center.html
[15:30:21] ⚡ CHANGED PAGE: director-center.html
[15:30:21] ⚡ CHANGED PAGE: director-chat.html
[15:30:21] ⚡ CHANGED PAGE: director.html
[15:30:21] ⚡ CHANGED PAGE: dmaic-tracker-NEW.html
[15:30:21] ⚡ CHANGED PAGE: dmaic-workbench.html
[15:30:21] ⚡ CHANGED PAGE: docker-hub.html
[15:30:21] ⚡ NEW PAGE: doctrine-53.html
[15:30:21] ⚡ NEW PAGE: dormant-dashboard-v2.html
[15:30:21] ⚡ NEW PAGE: dormant-dashboard.html
[15:30:21] ⚡ CHANGED PAGE: droid-terminal-hidden.html
[15:30:21] ⚡ CHANGED PAGE: droid-terminal.html
[15:30:21] ⚡ CHANGED PAGE: ecosysteme-ia-maroc.html
[15:30:21] ⚡ NEW PAGE: em-dashboard.html
[15:30:21] ⚡ CHANGED PAGE: email-hub.html
[15:30:21] ⚡ NEW PAGE: enterprise-complete-v73.html
[15:30:21] ⚡ NEW PAGE: enterprise-complete.html
[15:30:21] ⚡ CHANGED PAGE: enterprise-management.html
[15:30:21] ⚡ CHANGED PAGE: enterprise-model.html
[15:30:21] ⚡ NEW PAGE: erp-gap-fill-offer.html
[15:30:21] ⚡ NEW PAGE: erp-launchpad.html
[15:30:21] ⚡ CHANGED PAGE: ethica-chatbot.html
[15:30:21] ⚡ NEW PAGE: ethica-country.html
[15:30:21] ⚡ NEW PAGE: ethica-dashboard-live.html
[15:30:21] ⚡ NEW PAGE: ethica-drill.html
[15:30:21] ⚡ CHANGED PAGE: ethica-hcp-manager.html
[15:30:21] ⚡ CHANGED PAGE: ethica-hub.html
[15:30:21] ⚡ CHANGED PAGE: ethica-login.html
[15:30:21] ⚡ CHANGED PAGE: ethica-monitor.html
[15:30:21] ⚡ CHANGED PAGE: ethica-pipeline.html
[15:30:21] ⚡ API DATA CHANGE: enterprise-sync.php (17767 -> 25602)
[15:30:21] ⚡ API DATA CHANGE: infra-monitor-api.php (30020 -> 39402)
[15:30:21] Report: /opt/weval-l99/logs/l99-20260420-153021.json
[15:30:22]
✅ L99-ALIVE complete: 133 tests, 132 PASS, 1 FAIL

View File

@@ -0,0 +1,65 @@
[15:36:46] 🚀 L99-ALIVE v1.0 starting...
[15:36:46] Time: 2026-04-20T15:36:46.528173
[15:36:46] 🔍 PHASE 1: Detecting changes...
[15:36:46] Scanning HTML pages...
[15:37:11] ✅ [CHANGE-DETECT] changed enterprise-model.html — old=200639 new=200707
[15:37:13] ✅ [CHANGE-DETECT] changed ethica-hub.html — old=20435 new=21508
[15:37:14] Scanning APIs...
[15:37:19] Scanning Docker...
[15:37:19] Checking S95...
[15:37:19] ✅ [S95-HEALTH] Sentinel reachable
[15:37:19] ✅ [S95-HEALTH] PMTA active
[15:37:20] ✅ [S95-HEALTH] KumoMTA active
[15:37:20] Checking S151...
[15:37:20] ✅ [S151-HEALTH] HTTP 200
[15:37:20] Checking Blade...
[15:37:20] ✅ [BLADE-HEALTH] heartbeat fresh — 0min ago, blade
[15:37:20] Checking Paperclip...
[15:37:20] ✅ [PAPERCLIP] service live (HTTP 200)
[15:37:20] Checking disk...
[15:37:20] ✅ [DISK] usage 78% — 78%
[15:37:20] 🔍 Changes detected: 2
[15:37:20] 📸 PHASE 2: Auto-testing pages...
[15:37:25] ✅ [PAGE-TEST] agents-goodjob.html OK — body=52, 0 JS errors
[15:37:29] ✅ [PAGE-TEST] agents-fleet.html OK — body=401, 0 JS errors
[15:37:33] ✅ [PAGE-TEST] agents-archi.html OK — body=3341, 0 JS errors
[15:37:36] ✅ [PAGE-TEST] blade-ai.html OK — body=771, 0 JS errors
[15:37:40] ✅ [PAGE-TEST] crm.html OK — body=127, 0 JS errors
[15:37:44] ✅ [PAGE-TEST] admin.html OK — body=4737, 0 JS errors
[15:37:47] ✅ [PAGE-TEST] admin-saas.html OK — body=1435, 0 JS errors
[15:37:50] ✅ [PAGE-TEST] crons-monitor.html OK — body=153, 0 JS errors
[15:37:54] ✅ [PAGE-TEST] agents-valuechain.html OK — body=1402, 0 JS errors
[15:37:57] ✅ [PAGE-TEST] ai-benchmark.html OK — body=195, 0 JS errors
[15:37:57] 🎬 Recording enterprise viz video...
[15:38:17] ✅ [VIDEO-TEST] enterprise viz 135 agents — video recorded
[15:38:17] 🖥️ PHASE 3: Infrastructure tests...
[15:38:17] ✅ [DOCKER] 19 containers UP — 0 down
[15:38:17] ✅ [SYSTEMD] deerflow — active
[15:38:17] ✅ [SYSTEMD] deerflow-web — inactive
[15:38:18] ✅ [SYSTEMD] ollama — active
[15:38:18] ✅ [SYSTEMD] search-proxy — active
[15:38:18] ✅ [SYSTEMD] crowdsec — active
[15:38:18] ✅ [SYSTEMD] fail2ban — active
[15:38:18] ✅ [PORTS-S204] :80 nginx — HTTP 301
[15:38:18] ✅ [PORTS-S204] :443 https — HTTP 400
[15:38:18] ✅ [PORTS-S204] :5678 n8n — HTTP 200
[15:38:19] ✅ [PORTS-S204] :8080 searxng — HTTP 200
[15:38:19] ✅ [PORTS-S204] :11434 ollama — HTTP 200
[15:38:19] ✅ [PORTS-S204] :6333 qdrant — HTTP 200
[15:38:19] ✅ [NONREG] 153/153 PASS
[15:38:19] ✅ [OLLAMA] 7 models loaded
[15:38:19] 💾 PHASE 4: Saving results...
[15:38:19]
==================================================
[15:38:19] L99-ALIVE REPORT
[15:38:19] ==================================================
[15:38:19] Tests: 35 (35 PASS, 0 FAIL, 0 WARN)
[15:38:19] Layers: 13
[15:38:19] Changes: 2
[15:38:19] Screenshots: 10
[15:38:19] Videos: 1
[15:38:19] ⚡ CHANGED PAGE: enterprise-model.html
[15:38:19] ⚡ CHANGED PAGE: ethica-hub.html
[15:38:19] Report: /opt/weval-l99/logs/l99-20260420-153819.json
[15:38:19]
✅ L99-ALIVE complete: 35 tests, 35 PASS, 0 FAIL

View File

@@ -0,0 +1,857 @@
{
"tests": [
{
"layer": "CHANGE-DETECT",
"test": "changed 404.html",
"status": "P",
"detail": "old=4749 new=8144"
},
{
"layer": "CHANGE-DETECT",
"test": "new page acquired-dashboard.html",
"status": "P",
"detail": "size=35604"
},
{
"layer": "CHANGE-DETECT",
"test": "changed admin-saas.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed admin-v2.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed admin.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "new page agent-roi-simulator.html",
"status": "P",
"detail": "size=33588"
},
{
"layer": "CHANGE-DETECT",
"test": "changed agents-3d.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed agents-alive.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed agents-archi.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed agents-final.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed agents-fleet.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed agents-goodjob.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed agents-hd.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed agents-hd2.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed agents-hub.html",
"status": "P",
"detail": "old=9259 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed agents-ia.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed agents-iso3d.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "new page agents-unified-registry.html",
"status": "P",
"detail": "size=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed agents-valuechain.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed ai-benchmark.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed ai-hub.html",
"status": "P",
"detail": "old=17398 new=21039"
},
{
"layer": "CHANGE-DETECT",
"test": "changed all-screens-live.html",
"status": "P",
"detail": "old=72 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed anthropic-hub.html",
"status": "P",
"detail": "old=6227 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed api-key-hub.html",
"status": "P",
"detail": "old=12517 new=16158"
},
{
"layer": "CHANGE-DETECT",
"test": "changed apps.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed architecture-live.html",
"status": "P",
"detail": "old=32116 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed architecture-map.html",
"status": "P",
"detail": "old=31488 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed architecture.html",
"status": "P",
"detail": "old=51850 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed arsenal-login.html",
"status": "P",
"detail": "old=6431 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed arsenal-offline.html",
"status": "P",
"detail": "old=3064 new=6459"
},
{
"layer": "CHANGE-DETECT",
"test": "new page automation-hub.html",
"status": "P",
"detail": "size=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed avatar-picker.html",
"status": "P",
"detail": "old=11373 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "new page azure-reregister.html",
"status": "P",
"detail": "size=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "new page blade-actions.html",
"status": "P",
"detail": "size=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed blade-ai.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed blade-center.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "new page blade-control.html",
"status": "P",
"detail": "size=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed blade-hub.html",
"status": "P",
"detail": "old=8868 new=12318"
},
{
"layer": "CHANGE-DETECT",
"test": "changed blade-install.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed booking.html",
"status": "P",
"detail": "old=9404 new=12961"
},
{
"layer": "CHANGE-DETECT",
"test": "changed bpmn-studio-NEW.html",
"status": "P",
"detail": "old=6014 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed bpmn-studio-live.html",
"status": "P",
"detail": "old=7435 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed brain-center-tenant.html",
"status": "P",
"detail": "old=5110 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "new page candidate-detail.html",
"status": "P",
"detail": "size=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "new page candidates-pool.html",
"status": "P",
"detail": "size=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "new page caps-hub.html",
"status": "P",
"detail": "size=8583"
},
{
"layer": "CHANGE-DETECT",
"test": "changed cartographie-screens.html",
"status": "P",
"detail": "old=258098 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed case-studies.html",
"status": "P",
"detail": "old=13265 new=16851"
},
{
"layer": "CHANGE-DETECT",
"test": "changed cgu.html",
"status": "P",
"detail": "old=8701 new=12096"
},
{
"layer": "CHANGE-DETECT",
"test": "changed claude-monitor.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed claw-chat.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed claw-code.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed cloudflare-hub.html",
"status": "P",
"detail": "old=15165 new=18806"
},
{
"layer": "CHANGE-DETECT",
"test": "changed command-center.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "new page consultants-list.html",
"status": "P",
"detail": "size=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "new page contacts-segmentation-dashboard.html",
"status": "P",
"detail": "size=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "new page crm-audit.html",
"status": "P",
"detail": "size=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "new page crm-dashboard-live.html",
"status": "P",
"detail": "size=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "new page crm-pipeline-live.html",
"status": "P",
"detail": "size=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed crm.html",
"status": "P",
"detail": "old=20460 new=25228"
},
{
"layer": "CHANGE-DETECT",
"test": "changed cron-control.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed crons-monitor.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed cyber-monitor.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "new page dashboards-hub.html",
"status": "P",
"detail": "size=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed data-deletion.html",
"status": "P",
"detail": "old=2589 new=5984"
},
{
"layer": "CHANGE-DETECT",
"test": "new page database-dashboard-live.html",
"status": "P",
"detail": "size=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "new page decision-gmail-o365.html",
"status": "P",
"detail": "size=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed deepseek-hub.html",
"status": "P",
"detail": "old=6405 new=9855"
},
{
"layer": "CHANGE-DETECT",
"test": "changed deepseek.html",
"status": "P",
"detail": "old=63142 new=67672"
},
{
"layer": "CHANGE-DETECT",
"test": "changed deerflow-hub.html",
"status": "P",
"detail": "old=4373 new=8014"
},
{
"layer": "CHANGE-DETECT",
"test": "new page dg-command-center.html",
"status": "P",
"detail": "size=34681"
},
{
"layer": "CHANGE-DETECT",
"test": "changed director-center.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed director-chat.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed director.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed dmaic-tracker-NEW.html",
"status": "P",
"detail": "old=5626 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed dmaic-workbench.html",
"status": "P",
"detail": "old=6798 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed docker-hub.html",
"status": "P",
"detail": "old=4398 new=8039"
},
{
"layer": "CHANGE-DETECT",
"test": "new page doctrine-53.html",
"status": "P",
"detail": "size=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "new page dormant-dashboard-v2.html",
"status": "P",
"detail": "size=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "new page dormant-dashboard.html",
"status": "P",
"detail": "size=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed droid-terminal-hidden.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed droid-terminal.html",
"status": "P",
"detail": "old=107 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed ecosysteme-ia-maroc.html",
"status": "P",
"detail": "old=11412 new=14807"
},
{
"layer": "CHANGE-DETECT",
"test": "new page em-dashboard.html",
"status": "P",
"detail": "size=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed email-hub.html",
"status": "P",
"detail": "old=14982 new=18623"
},
{
"layer": "CHANGE-DETECT",
"test": "new page enterprise-complete-v73.html",
"status": "P",
"detail": "size=29606"
},
{
"layer": "CHANGE-DETECT",
"test": "new page enterprise-complete.html",
"status": "P",
"detail": "size=35207"
},
{
"layer": "CHANGE-DETECT",
"test": "changed enterprise-management.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed enterprise-model.html",
"status": "P",
"detail": "old=176886 new=200639"
},
{
"layer": "CHANGE-DETECT",
"test": "new page erp-gap-fill-offer.html",
"status": "P",
"detail": "size=36827"
},
{
"layer": "CHANGE-DETECT",
"test": "new page erp-launchpad.html",
"status": "P",
"detail": "size=33933"
},
{
"layer": "CHANGE-DETECT",
"test": "changed ethica-chatbot.html",
"status": "P",
"detail": "old=9827 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "new page ethica-country.html",
"status": "P",
"detail": "size=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "new page ethica-dashboard-live.html",
"status": "P",
"detail": "size=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "new page ethica-drill.html",
"status": "P",
"detail": "size=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed ethica-hcp-manager.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed ethica-hub.html",
"status": "P",
"detail": "old=16892 new=20435"
},
{
"layer": "CHANGE-DETECT",
"test": "changed ethica-login.html",
"status": "P",
"detail": "old=8595 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed ethica-monitor.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "CHANGE-DETECT",
"test": "changed ethica-pipeline.html",
"status": "P",
"detail": "old=1683 new=1821"
},
{
"layer": "S95-HEALTH",
"test": "Sentinel reachable",
"status": "P",
"detail": ""
},
{
"layer": "S95-HEALTH",
"test": "PMTA active",
"status": "P",
"detail": ""
},
{
"layer": "S95-HEALTH",
"test": "KumoMTA active",
"status": "P",
"detail": ""
},
{
"layer": "S151-HEALTH",
"test": "HTTP 200",
"status": "P",
"detail": ""
},
{
"layer": "BLADE-HEALTH",
"test": "heartbeat fresh",
"status": "P",
"detail": "1min ago, blade"
},
{
"layer": "PAPERCLIP",
"test": "service live (HTTP 200)",
"status": "P",
"detail": ""
},
{
"layer": "DISK",
"test": "usage 78%",
"status": "P",
"detail": "78%"
},
{
"layer": "PAGE-TEST",
"test": "agents-archi.html OK",
"status": "P",
"detail": "body=3351, 0 JS errors"
},
{
"layer": "PAGE-TEST",
"test": "crm.html OK",
"status": "P",
"detail": "body=127, 0 JS errors"
},
{
"layer": "PAGE-TEST",
"test": "admin.html OK",
"status": "P",
"detail": "body=4737, 0 JS errors"
},
{
"layer": "PAGE-TEST",
"test": "agents-goodjob.html OK",
"status": "P",
"detail": "body=52, 0 JS errors"
},
{
"layer": "PAGE-TEST",
"test": "blade-ai.html OK",
"status": "P",
"detail": "body=771, 0 JS errors"
},
{
"layer": "PAGE-TEST",
"test": "agents-fleet.html OK",
"status": "P",
"detail": "body=401, 0 JS errors"
},
{
"layer": "PAGE-TEST",
"test": "ai-benchmark.html OK",
"status": "P",
"detail": "body=195, 0 JS errors"
},
{
"layer": "PAGE-TEST",
"test": "admin-saas.html OK",
"status": "P",
"detail": "body=1435, 0 JS errors"
},
{
"layer": "PAGE-TEST",
"test": "agents-valuechain.html OK",
"status": "P",
"detail": "body=1402, 0 JS errors"
},
{
"layer": "PAGE-TEST",
"test": "crons-monitor.html OK",
"status": "P",
"detail": "body=153, 0 JS errors"
},
{
"layer": "VIDEO-TEST",
"test": "enterprise viz 135 agents",
"status": "P",
"detail": "video recorded"
},
{
"layer": "DOCKER",
"test": "19 containers UP",
"status": "P",
"detail": "0 down"
},
{
"layer": "SYSTEMD",
"test": "deerflow",
"status": "P",
"detail": "active"
},
{
"layer": "SYSTEMD",
"test": "deerflow-web",
"status": "F",
"detail": "activating"
},
{
"layer": "SYSTEMD",
"test": "ollama",
"status": "P",
"detail": "active"
},
{
"layer": "SYSTEMD",
"test": "search-proxy",
"status": "P",
"detail": "active"
},
{
"layer": "SYSTEMD",
"test": "crowdsec",
"status": "P",
"detail": "active"
},
{
"layer": "SYSTEMD",
"test": "fail2ban",
"status": "P",
"detail": "active"
},
{
"layer": "PORTS-S204",
"test": ":80 nginx",
"status": "P",
"detail": "HTTP 301"
},
{
"layer": "PORTS-S204",
"test": ":443 https",
"status": "P",
"detail": "HTTP 400"
},
{
"layer": "PORTS-S204",
"test": ":5678 n8n",
"status": "P",
"detail": "HTTP 200"
},
{
"layer": "PORTS-S204",
"test": ":8080 searxng",
"status": "P",
"detail": "HTTP 200"
},
{
"layer": "PORTS-S204",
"test": ":11434 ollama",
"status": "P",
"detail": "HTTP 200"
},
{
"layer": "PORTS-S204",
"test": ":6333 qdrant",
"status": "P",
"detail": "HTTP 200"
},
{
"layer": "NONREG",
"test": "153/153 PASS",
"status": "P",
"detail": ""
},
{
"layer": "OLLAMA",
"test": "7 models loaded",
"status": "P",
"detail": ""
}
],
"screenshots": [
{
"name": "alive-agents-archi.png",
"page": "agents-archi.html"
},
{
"name": "alive-crm.png",
"page": "crm.html"
},
{
"name": "alive-admin.png",
"page": "admin.html"
},
{
"name": "alive-agents-goodjob.png",
"page": "agents-goodjob.html"
},
{
"name": "alive-blade-ai.png",
"page": "blade-ai.html"
},
{
"name": "alive-agents-fleet.png",
"page": "agents-fleet.html"
},
{
"name": "alive-ai-benchmark.png",
"page": "ai-benchmark.html"
},
{
"name": "alive-admin-saas.png",
"page": "admin-saas.html"
},
{
"name": "alive-agents-valuechain.png",
"page": "agents-valuechain.html"
},
{
"name": "alive-crons-monitor.png",
"page": "crons-monitor.html"
}
],
"videos": [
{
"name": "e69c79cf33abab02966bbdb512a865c0.webm",
"size": 1700964
}
],
"timestamp": "2026-04-20T15:28:45.921003",
"type": "alive",
"pass": 132,
"fail": 1,
"warn": 0,
"total": 133,
"score": 99
}

View File

@@ -0,0 +1,269 @@
{
"tests": [
{
"layer": "CHANGE-DETECT",
"test": "changed enterprise-model.html",
"status": "P",
"detail": "old=200639 new=200707"
},
{
"layer": "CHANGE-DETECT",
"test": "changed ethica-hub.html",
"status": "P",
"detail": "old=20435 new=21508"
},
{
"layer": "S95-HEALTH",
"test": "Sentinel reachable",
"status": "P",
"detail": ""
},
{
"layer": "S95-HEALTH",
"test": "PMTA active",
"status": "P",
"detail": ""
},
{
"layer": "S95-HEALTH",
"test": "KumoMTA active",
"status": "P",
"detail": ""
},
{
"layer": "S151-HEALTH",
"test": "HTTP 200",
"status": "P",
"detail": ""
},
{
"layer": "BLADE-HEALTH",
"test": "heartbeat fresh",
"status": "P",
"detail": "0min ago, blade"
},
{
"layer": "PAPERCLIP",
"test": "service live (HTTP 200)",
"status": "P",
"detail": ""
},
{
"layer": "DISK",
"test": "usage 78%",
"status": "P",
"detail": "78%"
},
{
"layer": "PAGE-TEST",
"test": "agents-goodjob.html OK",
"status": "P",
"detail": "body=52, 0 JS errors"
},
{
"layer": "PAGE-TEST",
"test": "agents-fleet.html OK",
"status": "P",
"detail": "body=401, 0 JS errors"
},
{
"layer": "PAGE-TEST",
"test": "agents-archi.html OK",
"status": "P",
"detail": "body=3341, 0 JS errors"
},
{
"layer": "PAGE-TEST",
"test": "blade-ai.html OK",
"status": "P",
"detail": "body=771, 0 JS errors"
},
{
"layer": "PAGE-TEST",
"test": "crm.html OK",
"status": "P",
"detail": "body=127, 0 JS errors"
},
{
"layer": "PAGE-TEST",
"test": "admin.html OK",
"status": "P",
"detail": "body=4737, 0 JS errors"
},
{
"layer": "PAGE-TEST",
"test": "admin-saas.html OK",
"status": "P",
"detail": "body=1435, 0 JS errors"
},
{
"layer": "PAGE-TEST",
"test": "crons-monitor.html OK",
"status": "P",
"detail": "body=153, 0 JS errors"
},
{
"layer": "PAGE-TEST",
"test": "agents-valuechain.html OK",
"status": "P",
"detail": "body=1402, 0 JS errors"
},
{
"layer": "PAGE-TEST",
"test": "ai-benchmark.html OK",
"status": "P",
"detail": "body=195, 0 JS errors"
},
{
"layer": "VIDEO-TEST",
"test": "enterprise viz 135 agents",
"status": "P",
"detail": "video recorded"
},
{
"layer": "DOCKER",
"test": "19 containers UP",
"status": "P",
"detail": "0 down"
},
{
"layer": "SYSTEMD",
"test": "deerflow",
"status": "P",
"detail": "active"
},
{
"layer": "SYSTEMD",
"test": "deerflow-web",
"status": "P",
"detail": "inactive"
},
{
"layer": "SYSTEMD",
"test": "ollama",
"status": "P",
"detail": "active"
},
{
"layer": "SYSTEMD",
"test": "search-proxy",
"status": "P",
"detail": "active"
},
{
"layer": "SYSTEMD",
"test": "crowdsec",
"status": "P",
"detail": "active"
},
{
"layer": "SYSTEMD",
"test": "fail2ban",
"status": "P",
"detail": "active"
},
{
"layer": "PORTS-S204",
"test": ":80 nginx",
"status": "P",
"detail": "HTTP 301"
},
{
"layer": "PORTS-S204",
"test": ":443 https",
"status": "P",
"detail": "HTTP 400"
},
{
"layer": "PORTS-S204",
"test": ":5678 n8n",
"status": "P",
"detail": "HTTP 200"
},
{
"layer": "PORTS-S204",
"test": ":8080 searxng",
"status": "P",
"detail": "HTTP 200"
},
{
"layer": "PORTS-S204",
"test": ":11434 ollama",
"status": "P",
"detail": "HTTP 200"
},
{
"layer": "PORTS-S204",
"test": ":6333 qdrant",
"status": "P",
"detail": "HTTP 200"
},
{
"layer": "NONREG",
"test": "153/153 PASS",
"status": "P",
"detail": ""
},
{
"layer": "OLLAMA",
"test": "7 models loaded",
"status": "P",
"detail": ""
}
],
"screenshots": [
{
"name": "alive-agents-goodjob.png",
"page": "agents-goodjob.html"
},
{
"name": "alive-agents-fleet.png",
"page": "agents-fleet.html"
},
{
"name": "alive-agents-archi.png",
"page": "agents-archi.html"
},
{
"name": "alive-blade-ai.png",
"page": "blade-ai.html"
},
{
"name": "alive-crm.png",
"page": "crm.html"
},
{
"name": "alive-admin.png",
"page": "admin.html"
},
{
"name": "alive-admin-saas.png",
"page": "admin-saas.html"
},
{
"name": "alive-crons-monitor.png",
"page": "crons-monitor.html"
},
{
"name": "alive-agents-valuechain.png",
"page": "agents-valuechain.html"
},
{
"name": "alive-ai-benchmark.png",
"page": "ai-benchmark.html"
}
],
"videos": [
{
"name": "a812410d29edc21367942505d55bd7a3.webm",
"size": 1888995
}
],
"timestamp": "2026-04-20T15:36:46.528066",
"type": "alive",
"pass": 35,
"fail": 0,
"warn": 0,
"total": 35,
"score": 100
}

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 107 KiB

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 347 KiB

After

Width:  |  Height:  |  Size: 542 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 614 KiB

After

Width:  |  Height:  |  Size: 614 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 231 KiB

After

Width:  |  Height:  |  Size: 231 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 349 KiB

After

Width:  |  Height:  |  Size: 349 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 276 KiB

After

Width:  |  Height:  |  Size: 314 KiB

View File

@@ -41,7 +41,9 @@ def run_scenario(name, url, expected_text=None, check_title=True, timeout=12):
status = "PASS" status = "PASS"
detail = {"title": title, "body_preview": body[:100], "load_time_s": load_time} detail = {"title": title, "body_preview": body[:100], "load_time_s": load_time}
if expected_text and expected_text.lower() not in body.lower() and expected_text.lower() not in title.lower(): # 20avr fix: also check page_source (HTML) for SPA/API/auth-redirect pages
page_src = driver.page_source.lower() if expected_text else ""
if expected_text and expected_text.lower() not in body.lower() and expected_text.lower() not in title.lower() and expected_text.lower() not in page_src:
status = "WARN" status = "WARN"
detail["missing_text"] = expected_text detail["missing_text"] = expected_text

12
show_v93.sh Executable file
View File

@@ -0,0 +1,12 @@
#!/bin/bash
cat /var/www/html/api/playwright-v93-deep-audit.json 2>/dev/null | python3 -c "
import sys, json
d = json.load(sys.stdin)
for page, info in d.items():
print(f'=== {page} ===')
for k, v in info['diag'].items():
print(f' {k}: {v}')
if info.get('js_errors'):
print(f' js_errors ({len(info[\"js_errors\"])}): {info[\"js_errors\"][:2]}')
print()
"

23
v93_fix_dead_agents.py Normal file
View File

@@ -0,0 +1,23 @@
#!/usr/bin/env python3
# V93: Filter out dead agents visually from enterprise-model.html
path = "/var/www/html/enterprise-model.html"
with open(path, "rb") as f:
raw = f.read()
if b"V93 hide dead" in raw:
print("ALREADY")
exit(0)
# Find the existing AG cleanup line we added in V91
marker = b"AG=AG.filter(function(a){return a&&a.n;});"
if marker not in raw:
print("V91 marker not found")
exit(1)
# Replace with stronger filter that also excludes rm='dead'
new = b"AG=AG.filter(function(a){return a&&a.n&&a.rm!=='dead';});/* V93 hide dead agents (was 167 invisible blocks) */"
raw = raw.replace(marker, new, 1)
with open(path, "wb") as f:
f.write(raw)
print(f"Patched size: {len(raw)}")

30
v93_state.sh Normal file
View File

@@ -0,0 +1,30 @@
#!/bin/bash
echo "=== NR ==="
python3 -c "
import json
d=json.load(open('/tmp/l99-honest-cache.json'))
print(f'NR: {d[\"combined\"][\"pass\"]}/{d[\"combined\"][\"total\"]} · {d[\"sigma\"]}')
print(f'ts: {d[\"ts\"]}')
"
AGE=$(($(date +%s) - $(stat -c %Y /tmp/l99-honest-cache.json)))
echo "cache_age: ${AGE}s"
echo ""
echo "=== Git ==="
cd /var/www/html && echo "dirty: $(git status --short | wc -l)"
cd /var/www/html && git log -1 --format="HEAD: %h"
echo ""
echo "=== V92 Blade task ==="
cat /var/www/html/api/blade-tasks/task_20260420131705_b1068d.json 2>/dev/null | grep -oE '"status": "[a-z]+"|"completed_at[^,]*'
echo ""
echo "=== V91 enterprise-model patches ==="
grep -c "V91" /var/www/html/enterprise-model.html
head -5 /var/www/html/enterprise-model.html | head -2
grep -n "V91 TDZ fix" /var/www/html/enterprise-model.html | head -3
echo ""
echo "=== wevia-em-big4.html ==="
ls -la /var/www/html/wevia-em-big4.html 2>/dev/null
wc -l /var/www/html/wevia-em-big4.html 2>/dev/null

33
v94_state.sh Executable file
View File

@@ -0,0 +1,33 @@
#!/bin/bash
echo "=== NR ==="
python3 -c "
import json
d=json.load(open('/tmp/l99-honest-cache.json'))
print(f'{d[\"combined\"][\"pass\"]}/{d[\"combined\"][\"total\"]} · {d[\"sigma\"]}')
print(f'ts: {d[\"ts\"]}')
"
echo "=== Git ==="
cd /var/www/html && echo "dirty: $(git status --short | wc -l) · HEAD: $(git log -1 --format='%h')"
echo "=== Blade task v92/v93 status ==="
for t in task_v92_em_verify_20260420.json task_v93_authed_20260420.json; do
f=/var/www/html/api/blade-tasks/$t
if [ -f $f ]; then
python3 -c "
import json
d=json.load(open('$f'))
print(f'$t: status={d.get(\"status\")} dispatched={d.get(\"dispatched_at\",\"none\")} completed={d.get(\"completed_at\",\"none\")}')
"
fi
done
echo "=== Blade heartbeat ==="
curl -s https://weval-consulting.com/api/blade-heartbeat.json --max-time 5 | python3 -c "
import sys,json
d=json.load(sys.stdin)
print(f'Status: {d.get(\"status\")} · last_heartbeat: {d.get(\"last_heartbeat\")}')
print(f'tasks_today: {d.get(\"tasks_today\")} · tasks_week: {d.get(\"tasks_week\")}')
"
echo "=== Latest blade screenshots ==="
ls -lt /var/www/html/api/blade-tasks/*.png 2>/dev/null | head -5

49
v98-linkedin-session-inject.py Executable file
View File

@@ -0,0 +1,49 @@
#!/usr/bin/env python3
# V98 Inject LI_AT cookie from secrets.env into Chromium persistent session
# One-time call after Yacine provides cookie
import asyncio, os, subprocess
from pathlib import Path
SESSION_DIR = Path('/opt/weval-l99/browser-sessions/linkedin')
SESSION_DIR.mkdir(parents=True, exist_ok=True)
def get_cookie():
try:
r = subprocess.run(['grep', '^LI_AT=', '/etc/weval/secrets.env'], capture_output=True, text=True, timeout=3)
if r.returncode == 0:
return r.stdout.strip().split('=', 1)[1]
except: pass
return None
async def main():
from playwright.async_api import async_playwright
cookie = get_cookie()
if not cookie:
print('{"ok":false,"err":"no LI_AT in /etc/weval/secrets.env","instruction":"Yacine: add LI_AT=<your_linkedin_session_cookie> to /etc/weval/secrets.env (F12 > Application > Cookies > .linkedin.com > li_at)"}')
return
async with async_playwright() as p:
ctx = await p.chromium.launch_persistent_context(
str(SESSION_DIR),
headless=True,
user_agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36',
)
await ctx.add_cookies([{
'name': 'li_at',
'value': cookie,
'domain': '.linkedin.com',
'path': '/',
'httpOnly': True,
'secure': True,
'sameSite': 'None',
}])
page = await ctx.new_page()
await page.goto('https://www.linkedin.com/feed/', wait_until='domcontentloaded', timeout=20000)
await page.wait_for_timeout(3000)
url = page.url
logged = 'login' not in url and 'checkpoint' not in url
print('{"ok":true,"logged_in":' + ('true' if logged else 'false') + ',"url":"' + url[:200] + '"}')
await ctx.close()
asyncio.run(main())

Binary file not shown.

Binary file not shown.