spb/ka-guardian
Public
1{2 "comment": "KA Guardian — identité des agents, politique et correspondance service → app. L'EMPLACEMENT des apps (nœud, IP LAN, répertoire, port, process PM2) vient du registre mld (M1M32:~/dispatch/registry.json, copie ~/ka-guardian-spool/registry.json) : orchestrator/registry.py l'applique au démarrage et à chaque tick. Les champs node/dir/web_port/pm2 ci-dessous ne sont qu'un REPLI si le registre n'a jamais été reçu (valeurs du 2026-09-04) — ne pas les considérer comme vrais.",3 "apika_monitoring_url": "https://www.api-ka.com/api/v1/monitoring/connectors",4 "runner_port": 7791,5 "registry": {6 "source": "M1M32:~/dispatch/registry.json",7 "local_copy": "~/ka-guardian-spool/registry.json",8 "runners_probe": "~/ka-guardian-spool/runners.json",9 "sync_service": "com.ka.registry-sync (deploy/registry-sync.sh, tick 120 s) + push mld (abonné ka2)"10 },11 "agents": {12 "ka2": {13 "port": 8799, "domain": "www.ka2.bot", "accent": "#a9d1f7", "accent2": "#1e4fa3", "accent_soft": "#e3effc",14 "tagline": "Gardien immobilier & local", "model": "claude-fable-5",15 "services": ["louka", "immoka", "restoka", "houseka", "rentka"]16 },17 "ka4": {18 "port": 8899, "domain": "www.ka4.bot", "accent": "#ffc36b", "accent2": "#a35c00", "accent_soft": "#ffefd9",19 "tagline": "Gardien mobilité & quotidien", "model": "claude-fable-5",20 "services": ["autoka", "foodka", "sortika"]21 },22 "ka6": {23 "port": 8999, "domain": "www.ka6.bot", "accent": "#cdb4f9", "accent2": "#5b21b6", "accent_soft": "#f0e8fc",24 "tagline": "Gardien flagship — gros volumes", "model": "claude-fable-5",25 "services": ["fabrika", "jobka", "creaka", "vraiprix"],26 "default_for_unknown_services": true27 }28 },29 "nodes": {30 "m3u96a": { "lan_ip": "192.168.2.87", "alias": "M3U96a" },31 "m3u96b": { "lan_ip": "192.168.2.82", "alias": "M3U96b" },32 "m2u64": { "lan_ip": "192.168.2.107", "alias": "M2U64" },33 "m4m64a": { "lan_ip": "192.168.2.83", "alias": "M4M64a" },34 "m4m64b": { "lan_ip": "192.168.2.78", "alias": "M4M64b" },35 "m4m36": { "lan_ip": "192.168.2.69", "alias": "M4M36" },36 "m2m32": { "lan_ip": "192.168.2.90", "alias": "M2M32" }37 },38 "services": {39 "louka": { "app": "Lou·Ka", "registry_app": "lou-ka", "node": "m4m64a", "dir": "~/apps/lou-ka", "pm2": ["lou-ka-web", "lou-ka-sync"], "web_port": 8095, "site": "https://www.lou-ka.com" },40 "restoka": { "app": "Resto·Ka", "registry_app": "resto-ka", "node": "m4m64a", "dir": "~/apps/resto-ka", "pm2": ["resto-ka", "resto-ka-sync"], "web_port": 8115, "site": "https://www.resto-ka.com" },41 "creaka": { "app": "Créa·Ka", "registry_app": "crea-ka", "node": "m3u96a", "dir": "~/apps/crea-ka", "pm2": ["crea-ka-web", "crea-ka-sync"], "web_port": 8160, "site": "https://www.crea-ka.com" },42 "immoka": { "app": "Immo·Ka", "registry_app": "immo-ka", "node": "m4m64b", "dir": "~/apps/immo-ka", "pm2": ["immo-ka-web", "immo-ka-sync"], "web_port": 8096, "site": "https://www.immo-ka.com" },43 "fabrika": { "app": "Fabri·Ka", "registry_app": "fabri-ka", "node": "m4m64a", "dir": "~/fabri-ka", "pm2": ["fabri-ka-web", "fabri-ka-sync"], "web_port": 8097, "site": "https://www.fabri-ka.com" },44 "autoka": { "app": "Auto·Ka", "registry_app": "auto-ka", "node": "m4m64b", "dir": "~/auto-ka", "pm2": ["auto-ka-web", "auto-ka-sync"], "web_port": 8095, "site": "https://www.auto-ka.com" },45 "foodka": { "app": "Food·Ka", "registry_app": "food-ka", "node": "m2u64", "dir": "~/apps/food-ka", "pm2": ["food-ka-web", "food-ka-sync"], "web_port": 8097, "site": "https://www.food-ka.com" },46 "sortika": { "app": "Sorti·Ka", "registry_app": "sorti-ka", "node": "m3u96a", "dir": "~/apps/sorti-ka", "pm2": ["sorti-ka-web", "sorti-ka-sync"], "web_port": 8120, "site": "https://www.sorti-ka.com" },47 "jobka": { "app": "Job·Ka", "registry_app": "job-ka", "node": "m3u96a", "dir": "~/apps/job-ka", "pm2": ["job-ka-web", "job-ka-sync"], "web_port": 8096, "site": "https://www.job-ka.com" },48 "vraiprix": {49 "app": "Vrai·Prix", "registry_app": "vrai-prix", "node": "m3u96a", "dir": "~/apps/vrai-prix",50 "pm2": ["vrai-prix"], "pm2_exclude": ["vrai-prix-ingest"], "web_port": 8090, "site": "https://www.vrai-prix.com",51 "comment": "Pas de connecteurs sous supervision api-ka (vrai-prix-ingest tourne à la demande — exclu des restarts via pm2_exclude) : surveillance du SITE seulement. Les tunnels *-ngrok sont toujours exclus automatiquement."52 },53 "houseka": {54 "app": "House·Ka", "registry_app": "house-ka", "node": "m3u96a", "dir": "~/apps/house-ka",55 "pm2": ["house-ka-web", "house-ka-sync"], "web_port": 8098, "site": "https://www.house-ka.com",56 "comment": "Fork achat de Immo-Ka (Canada hors Quebec). Connecteurs rapportes a api-ka depuis 2026-08-28 (28 sources, cadence 4 h)."57 },58 "rentka": {59 "app": "Rent·Ka", "registry_app": "rent-ka", "node": "m4m64b", "dir": "~/apps/rent-ka",60 "pm2": ["rent-ka-web", "rent-ka-sync"], "web_port": 8125, "site": "https://www.rent-ka.com",61 "comment": "Fork anglophone de Lou-Ka (Canada hors Quebec). Connecteurs rapportes a api-ka depuis 2026-08-28 (~680 sources)."62 }63 },64 "policy": {65 "poll_interval_seconds": 300,66 "trigger_statuses": ["broken", "stale"],67 "max_concurrent_missions": 1,68 "max_attempts_per_incident": 3,69 "attempt_cooldown_hours": 6,70 "watch_window_hours": 8,71 "mission_max_turns": 70,72 "mission_timeout_seconds": 3600,73 "effort_max_turns": 150,74 "effort_timeout_seconds": 7200,75 "abandoned_retry_hours": 168,76 "mass_incident_threshold": 20,77 "site_check_interval_seconds": 120,78 "site_check_fails": 2,79 "site_restart_throttle_seconds": 600,80 "site_restart_wait_seconds": 20,81 "site_watch_window_hours": 1,82 "site_cooldown_hours": 1,83 "site_abandoned_retry_hours": 2484 }85}86