Skip to content

20 Modules Reference

naarob edited this page Oct 14, 2026 · 2 revisions

20 — Modules Reference

Updated: 2026-10-13

🌐 English · Français

GENERATED page — produced by tools/forge_wiki_modules.py. Do not edit by hand: any correction goes into the module docstring, the single source of truth. A definition copied here would drift from the code within a week.

Generated from commit 127cf924a1d23865e7377c57001c16a1ee1a1c24 on 2026-10-13T22:20:29Z. If this commit is not the current HEAD, this page describes an EARLIER state of the code: regenerate rather than annotate.

Each definition is the first sentence of the module docstring, as written by its author — never a paraphrase of the file name. It is quoted verbatim, in the language it was written in (mostly French): a translation here would be a second source, drifting from the code. Modules without a docstring are listed at the end of the page: they are measured documentation gaps, not display omissions.

2460 modules scanned in app/, tools/, forge_desktop/ (excluding _attic) — 1805 defined (73.4%), 655 without a docstring.

The public symbols listed are the API the module exposes (top-level functions and classes without a leading underscore): what a caller can use without reading the implementation.

Infra/Bootstrap/Config

243 modules · 56,222 lines

Module Definition Public API LOC
app/__init__.py app/ - Package principal Nokido — 23
app/agents/__init__.py app/agents/ — Facade d'acces unifiee aux modules agentiques Nokido — 137
app/api_facade.py Facade API unifiee pour Nokido (decouplage UI/backend) NokidoFacade, get_facade, AsyncNokidoFacade, get_async_facade 430
app/bridge_cmd.py CONTRAINTE: header HD batch — 23
app/collab_modes/__init__.py Package app.collab_modes - Orchestration de sessions de collaboration multi-agent — 123
app/core/__init__.py app/core/ - Fondations: bootstrap, settings, logging, state, context — 13
app/core/settings/__init__.py app/core/settings/ - Split de forge_settings.py par domaine — 124
app/debug.py CONTRAINTE: header HD batch — 26
app/diag_nokido.py CONTRAINTE: +0 docs — 48
app/forge_boot.py CONTRAINTE: header HD batch BootResult, run_boot, inject_boot_globals 190
app/forge_build_repair.py Boucle build-repair CAPABILITY-ADAPTIVE pour code généré RepairPolicy, validate, quality_gate_validator, deterministic_fix (+2) 237
app/forge_cache.py Cache unifie Nokido (LRU/TTL/LFU) make_cache 115
app/forge_capabilities.py CONTRAINTE: header HD batch CapabilityRegistry, get_caps, check 113
app/forge_compose.py CONTRAINTE: +0 docs compose 94
app/forge_configurator.py Phase 4 - AMI roadmap: Configurator dynamique classify_task, configure, configure_from_description, get_mpc_config (+2) 230
app/forge_db.py Connexion SQLite centralisée avec PRAGMAs optimaux ================================================================ Remplace sqlite3.connect() direct partout dans le codebase get_conn, get_conn_readonly, quick_read, quick_write 96
app/forge_db_conn.py Point de connexion DB CENTRAL (fondation at-rest SQLCipher) ============================================================================ Pourquoi ce module ------------------ Le code Nokido ouvre ~631 connexions sqlite3 directes réparties sur ~340 fichiers (au is_sqlcipher_available, resolve_key, db_engine, get_db 242
app/forge_db_path.py Chemin CANONIQUE de la base RAG, résolu en REALPATH authority_switch_path, authority_db_defaut, authority_switch_actif, authority_path (+25) 856
app/forge_drapeau_env.py Lire un drapeau booleen d'environnement — une seule fois pour le corps declare, actif, etat 80
app/forge_engrid_bridge.py Pont entre le cycle autonome et l'architecture Engrid =============================================================================== Remplace les appels LLM directs du cycle (Generator.generate, ollama_call) par un routage intelligent via SpikeRouter → MetaCo engrid_generate, engrid_audit, engrid_analyze, patch_task_worker 337
app/forge_env_alias.py shim de renommage progressif LAFORGE_* -> NOKIDO_* (dual-read) apply 50
app/forge_env_crypt.py CONTRAINTE: header HD batch encrypt_value, decrypt_value, load_secrets, set_secret (+3) 568
app/forge_env_sync.py CONTRAINTE: header HD batch sync_env, env_report 292
app/forge_gemini_bridge.py CONTRAINTE: header HD batch GeminiBridge, gemini_ask, run_mode_gemini_ping, get_gemini_bridge (+1) 447
app/forge_gui_debug.py CONTRAINTE: header HD batch gui_debug_log, gui_debug_clear, patch_app_for_debug 354
app/forge_health_diagnostic.py Diagnostic de santé Nokido (lacunes + métriques) audit_rag_chunks, audit_biblio, audit_messages, audit_tables_empty (+18) 2420
app/forge_host_capabilities.py Detection capacite hote Nokido ============================================================= Determine ce que la machine hote peut faire tourner localement (CPU+RAM+VRAM+disk) suggerer_modeles, detect_host, get_host_info, can_run_locally (+2) 430
app/forge_hw.py CONTRAINTE: +0 docs hw, hw_all, hw_ready, hw_summary 86
app/forge_hw_allocator.py DEPRECATED: forge_hw_allocator.py → app/hardware/allocator.py This is a backward-compatibility stub — 24
app/forge_install_prerequis.py registre des prerequis EXTERNES de Nokido, et sonde de presence etat_toml_services, vars_machine, ecrire_vars_local, verifier (+8) 847
app/forge_lifecycle_tool.py MCP tool: manage_forge_lifecycle =========================================================== Façade unifiée START/STOP/RESTART/STATUS/LIST/SHUTDOWN_ALL/BOOT_ALL des services Nokido handle_manage_forge_lifecycle 364
app/forge_litellm_bridge.py CONTRAINTE: header HD batch LiteLLMBridge, get_litellm_bridge, ask 348
app/forge_llm_format_bridge.py moteur partagé des ingress LLM-API multi-format load_token, hub_call, messages_to_prompt, AskResult (+3) 223
app/forge_machine_vault.py coffre de secrets cross-OS resoudre_chemin_coffre, chemin_coffre, available, vault_get (+7) 624
app/forge_mixin_ai.py CONTRAINTE: header HD batch AiMixin 269
app/forge_mixin_ui.py CONTRAINTE: +0 init_onnx_backend, init_registry, UiMixin 968
app/forge_npu_env.py CONTRAINTE: header HD batch conda_run, env_exists, create_env, install_wheels (+5) 150
app/forge_python_bin.py Source de vérité pour l'interpréteur Python ====================================================================== Garantit que tout subprocess Python utilise miniforge3 (l'env Nokido), pas un python ambigu du PATH run_python, popen_python 67
app/forge_recursive_debugger.py CONTRAINTE: header HD batch parse_errors, make_diff, StepResult, DebugIteration (+1) 449
app/forge_services.py CONTRAINTE: header HD batch ServiceType, Protocol, ServiceStatus, ServiceEndpoint (+7) 529
app/forge_settings.py CONTRAINTE: header HD batch debug_log, Settings, get_db_path, create_settings (+2) 757
app/forge_startup.py CONTRAINTE: +0 docs load_last_assignment, save_last_assignment, auto_select_models, main 813
app/forge_startup_logger.py CONTRAINTE: header HD batch BootStep, StartupLogger, get_boot_logger, boot_step (+1) 369
app/forge_symbiotic_bridge.py Pont Cloud-Local Synchrone pour Nokido SymbioticBridge 117
app/forge_trauma_vault.py Nokido Engrid v3 · Sprint 3 ====================================================== TraumaVault : mémoire des échecs avec plasticité STDP et protection topologique par winding_count (skyrmion-inspired) TraumaRecord, STDPEvent, TraumaVault 400
app/forge_utf8_bootstrap.py bootstrap UTF-8 process-wide (Windows), import-first apply, child_env 72
app/forge_utils.py CONTRAINTE: header HD batch contient_un_mot, sha256_fichier, safe_shell_run 107
app/forge_version.py CONTRAINTE: +0 docs get, label, semver, get_from_manager (+5) 254
app/hardware/__init__.py app/hardware/ — Allocation NPU/GPU/CPU, monitors, watchdogs Cree 2026-04 (refacto architecture, PRIORITE 3 Gemini) — 7
app/live_bridge.py CONTRAINTE: header HD batch LiveBridge 317
app/llm/__init__.py app/llm/ — Routeurs LLM multi-provider Cree 2026-04 (refacto architecture, PRIORITE 3 Gemini) — 7
app/llm/backends/__init__.py app/llm/backends/ — Backends specifiques (Ollama, llama.cpp, Gemini, LiteLLM) Cree 2026-04 (refacto architecture, PRIORITE 3 Gemini) — 7
app/netcfg_silo_bridge.py Pont netcfg-agent-mcp <-> SiloEngine Nokido ======================================================================== Orchestration : 1 fetch_netcfg_snapshot, audit_parc_netcfg, audit_parc_netcfg_sync, ingest_netcfg_deploys 476
app/orchestration/__init__.py app/orchestration/ — Orchestrateur principal, modes collab, dispatcher Cree 2026-04 (refacto architecture, PRIORITE 3 Gemini) — 7
app/patch.py CONTRAINTE: Args/Returns/Raises python_interpreter, file_read, file_write, file_explore (+3) 1067
app/protocols.py Interfaces (typing.Protocol) pour casser les cycles d'import LLMBridgeProtocol, AppContextProtocol, VersionManagerProtocol, WebSearchProtocol (+1) 107
app/rag/__init__.py app/rag/ — Retrieval-Augmented Generation (SQLite WAL, embeddings) Cree 2026-04 (refacto architecture, PRIORITE 3 Gemini) — 7
app/security/__init__.py app/security/ — DangerGuard, sandbox, AST analyzer Cree 2026-04 (refacto architecture, PRIORITE 3 Gemini) — 7
app/tui_adapters/__init__.py TUI adapters — pure read/action layer pour nokido_tui v3 — 6
app/ui/__init__.py app/ui/ — Interface utilisateur Textual TUI Cree 2026-04 (refacto architecture, PRIORITE 3 Gemini) — 7
app/web_hub/__init__.py app/web_hub/ - Hub FastAPI unifie Nokido — 24
forge_desktop/__init__.py forge_desktop/init.py Forge-Sync OS — 7
forge_desktop/core/__init__.py forge_desktop/core/init.py — 4
forge_desktop/views/__init__.py forge_desktop/views/init.py — 4
forge_desktop/widgets/__init__.py forge_desktop/widgets/init.py — 4
tools/_patch_deep_explore.py migration #1+#2 : enregistre l'outil honeypot forge_deep_explore + insère le coupe-circuit comportemental serveur dans app/forge_mcp_registry.py — 165
tools/_patch_deep_explore_v2.py durcit #1+#2 après test live : (A) breaker : verdict_mem (in-mem, fail-open silencieux) -> verdict() FS partagé (cross-process) + LOG chaque décision dans C:/tmp/recon_breaker.log (observable) — 147
tools/_patch_ensure_service.py enregistre le Bouton Rouge nokido_ensure_service dans forge_mcp_registry : catalogue + _TOOL_MIN_RING + _TOOLS_PUBLIC + dispatch + handler — 126
tools/_patch_explore_collecte.py patch ponctuel : découpler COLLECTE et AFFICHAGE dans deep_explore main 101
tools/_patch_explore_ranking.py patch ponctuel : classement du digest de forge_deep_explore main 99
tools/_patch_nssm_gemini.py Patch + start LaForgeGeminiDaemon NSSM service via direct subprocess run 39
tools/_patch_tray.py laforge_tray.py — Icône tray Windows Nokido — 5
tools/arm_applier.py arme l'etage REFLEXE de l'applicateur (owner 2026-08-27) main 45
tools/autotools.py Nokido v1.0 ============================================ Package central de tous les outils du projet, exposés comme commandes @ natives Tool, run_index, run_index_continue, run_diag_npu (+32) 938
tools/build_bge_m3_dml.py BGE-M3 embeddings via ORT DirectML (Radeon 780M iGPU) export_onnx, load_session, tokenize_batch, mean_pool (+3) 283
tools/build_dist.py build REPRODUCTIBLE de la distribution propriétaire build_pyarmor, build_nuitka, main 122
tools/deploy_modal_bge_m3.py Deploy BGE-M3 sur Modal serverless A10G GPU BgeM3Embedder 100
tools/diag_searxng.py Diag SearXNG :8080 get, main 32
tools/dispatch_migration_tasks.py Inject migration tasks dans mailbox agent_messages dispatch_task, status, main 298
tools/forge_adb.py pont ADB privilegie pour Nokido (compte LaForgeTrusted) device, cmd_devices, cmd_connect, cmd_pair (+8) 215
tools/forge_anon_push.py push ANONYMISE vers le remote public git, run, main 235
tools/forge_arch_schema.py schéma d'architecture Nokido COMPLET + souverain (zéro backend) main 160
tools/forge_auth_debug.py CLI debug auth : check token validity sans le leaker main 109
tools/forge_backup_hotswap.py Nokido Hot-Swap Backup Module ========================================================== DATE: 2026-07-01 CONTEXTE -------- Disque cible : "Grodata" (F:), tiroir SATA interne hot-swap, NTFS, GPT, ~3726 Go, Disque 4 (diskpart) DiskIdentityError, verify_disk_hardware, verify_disk_identity, disk_online (+13) 715
tools/forge_bench_diagnose.py Diagnostic cohérence des embeddings du corpus RAG main 115
tools/forge_boot_diagnostic.py diagnostic démarrage + TRACKER résiduel Nokido logs_nssm, snapshot, diff, main 470
tools/forge_boot_syntax_check.py Preflight AST au boot scan, main 74
tools/forge_bridge_ack.py CLI OWNER : revue + EXÉCUTION des requêtes ADMIN du pont cmd_list, cmd_allow, cmd_deny, main 114
tools/forge_bridge_habilitation.py emet une habilitation pour la passerelle GitHub frapper_la_clef, emettre, main 184
tools/forge_bridge_launch.py Lance la passerelle MCP avec ses secrets lus au COFFRE, jamais depuis le TOML racine, lire, decider_lancement, environnement (+3) 240
tools/forge_bridge_oauth.py autorite OAuth locale, adossee a l'habilitation existante depot_unique, fichier_des_clients, client_preenregistre, code_d_appariement (+8) 722
tools/forge_bump_superrepo.py reaccroche le pointeur de submodule du superrepo say, git, publier, main 395
tools/forge_cffi_probe.py sonde DIAGNOSTIC : cffi charge-t-il dans CE contexte d'exécution ? Distingue 'artefact du sandbox offline le plus verrouillé' vs 'tous les contextes restreints échouent' — 17
tools/forge_cli_clean_setup.py Construit des configs CLI PROPRES (auth SEULE, sans CLAUDE.md/GEMINI.md/hooks/MCP) pour que claude_cli/gemini_cli répondent en LLM BRUT (pas en agent Nokido qui s'init) -> indispensable au patch-gen SWE (best-of-N) clean_copy 90
tools/forge_client_bootstrap.py (DEPORTED — dry-run par defaut, 0 ecriture config) Orchestrateur d'onboarding/harmonisation client<->hub Nokido L, rd, parse_any, find_hub_server (+6) 282
tools/forge_coffre_reserve_provision.py provisionner le coffre RESERVE (etape 2a du correctif du coffre, go owner 2026-09-28) generateur_neuf, code_appariement, planifier_machine_neuve, dossier_ferme (+6) 401
tools/forge_connect_clients.py branche les 7 clients MCP au hub Nokido (direct, par-agent) main 135
tools/forge_db_backup.py Backup nightly embeddings.db (SQLite Online Backup + zstd) online_backup, compress_zstd, rotate_backups, main 163
tools/forge_db_bootstrap.py Restore DB depuis data/seed/*.jsonl git-tracked creer_schema, poser_interrupteurs, import_jsonl, main 196
tools/forge_db_check.py Checkpoint WAL + etat reel du tier vectoriel main 36
tools/forge_db_clean_install.py pose propre de la good DB a RAG/embeddings.db locked, main 70
tools/forge_db_compact.py Cleanup + VACUUM embeddings.db db_size, freelist_bytes, drop_janitor, purge_snapshots (+4) 199
tools/forge_db_compact_full.py Cycle complet purge+vacuum avec orchestration hub main 174
tools/forge_db_contention_report.py etat RUNTIME des bases, publiable rapport, main 284
tools/forge_db_encrypt_migrate.py Migration at-rest SQLCipher d'une DB sqlite cmd_dry_run, cmd_migrate, cmd_verify, main 216
tools/forge_db_instant_swap.py swap instantane (rename) de la good DB pre-stagee locked, main 50
tools/forge_db_merge_final.py fusionne les 2 recoveries en UNE base finale complète — 117
tools/forge_db_postswap.py finalisation post-restart du hub (V: deverrouillee) safe_count, main 105
tools/forge_db_preflight.py self-heal de la DB RAG au démarrage du hub relocate_if_symlink, boot_db, self_heal 289
tools/forge_db_recover.py Recovery de %NOKIDO_DATA%\embeddings.db corrompue (Bad ptr map / rowid out of order) copy_table, main 107
tools/forge_db_recover_gold.py filtre tolérant du dump sqlite3 .recover main 107
tools/forge_db_router.py Routeur hybride SQLite/DuckDB avec connexions persistantes ================================================================================ Résout le problème de latence DuckDB sur les SELECT simples en maintenant des connexions persistantes et en routant inte ForgeDBRouter, get_db_router 327
tools/forge_db_seed_export.py Export précieux DB vers JSONL git-trackable export_table, main 199
tools/forge_db_swap.py swap de la DB recoveree en live, relocalisee sur C: (marge) main 67
tools/forge_db_writetest.py Diagnostic : pourquoi les writes embedding ne persistent pas main 55
tools/forge_dev_mode.py arm/disarm the privileged-execution escape hatch arm, disarm, is_armed, main 249
tools/forge_dist_install_probe.py ce qu'une WHEEL INSTALLEE sait reellement faire imports_plats_du_depot, sonder, rendre, main 302
tools/forge_dist_publish.py recurring publish of one version into the persistent, SEPARATE distribution repo (nokido-dist) run, ensure_dist_repo, generiser_texte, sync_snapshot (+7) 1451
tools/forge_echo_argv.py smoke-test pour l'action hub trusted_script — 15
tools/forge_ensure_service.py BACKEND du « Bouton Rouge » MCP nokido_ensure_service declencher_tache, marquer_usage, marquer_pilotage, est_pilote (+3) 997
tools/forge_env_backup_relocate.py Deplace les backups plaintext laisses par forge_vault_migrate dans _backups/secrets/ (gitignore) main 41
tools/forge_env_drop_key.py Retire UNE cle de Nokido.env — et seulement si le coffre la detient deja main 142
tools/forge_env_key_names.py Liste les NOMS de variables de Nokido.env (JAMAIS les valeurs) — 28
tools/forge_env_recomment_openrouter.py One-shot : re-commente la ligne OPENROUTER_API_KEY de Nokido.env — 33
tools/forge_env_to_vault.py migre les secrets du .env vers le coffre DPAPI, SANS CASSE lire_env, main 347
tools/forge_fix_services_dup.py one-shot IDEMPOTENT : nettoie les service dupliques de proxy_deno/core/services.toml, et repare le texte parasite laisse par un governed_edit multi-blocs (2026-07-17) spans, has, name_of, effective (+1) 184
tools/forge_fix_worktree_link.py raccorder le worktree orphelin main 57
tools/forge_go_service_deploy.py Deploie un binaire Go compile vers son emplacement de service, sous compte privilegie deployer, main 153
tools/forge_hide_service_accounts.py masque les comptes de service Nokido de l'écran de connexion / verrouillage Windows et rend la tâche onlogon Caddy silencieuse (relance via pythonw, sans fenêtre console) main 164
tools/forge_hooks_install.py installe le FILET de gardes chez qui clone le depot etat, elague, applique, main 249
tools/forge_install_boot_mount.py Installeur boot du montage at-rest, CROSS-OS cmd_install, cmd_uninstall, cmd_status, main 322
tools/forge_kaggle_cfg_from_env.py One-shot : fabrique C:/tmp/kaggle_cfg/kaggle.json depuis la cle regeneree de Nokido.env (KAGGLE_API_TOKEN, 2026-07-06) — 37
tools/forge_m2m_bridge.py passerelle M2M : lire le bus inter-agents, y emettre agents_autorises, plafond_par_heure, chemin_du_bus, traiter 309
tools/forge_migrate_kaggle_vault.py One-shot : migre KAGGLE_API_TOKEN de Nokido.env vers le coffre DPAPI, verifie la lecture coffre, PUIS re-commente la ligne du .env (clef en clair inerte) — 46
tools/forge_migrate_metadata.py Colonnes generees ext/folder/lang + index main 93
tools/forge_migrate_origin.py Migration : ajoute la colonne origin a rag_chunks main 55
tools/forge_modal_auth_bootstrap.py Bootstrap Modal : .env -> coffre DPAPI -> CLI authentifie main 129
tools/forge_modal_diag.py Diagnostic Modal : sommes-nous authentifies, et l'endpoint est-il deploye ? Modal s'authentifie de DEUX facons : un fichier ~/.modal.toml (ecrit par modal token new|set) ou le couple d'env MODAL_TOKEN_ID + MODAL_TOKEN_SECRET main 125
tools/forge_npu_repair_env.py Reunir les deux moities du SDK Ryzen AI dans le MEME environnement main 82
tools/forge_nssm_env_fix.py Propagate API keys / tokens to NSSM-managed Nokido services get_service_list, set_env_for_service 117
tools/forge_nssm_hardening.py NSSM hardening Nokido — anti crash-loop config list_services, nssm_get, nssm_get_exit, nssm_set (+3) 164
tools/forge_obs_setup.py stack observabilité LIBRE (OTel emitter + Jaeger) main 52
tools/forge_owner_bridge.py pont OWNER-CONTEXT : exécute des commandes dans la SESSION CONSOLE de l'owner (user) depuis le hub SYSTEM run_in_owner, probe, main 142
tools/forge_owner_daemons.py launcher OWNER unique (lancé en pythonw = windowless) main 127
tools/forge_patch_agy_bin_resolution.py One-shot patcher : resolution du binaire AGY dans app/forge_mcp_registry.py — 78
tools/forge_patch_agy_perimetre.py FORGE_COLOR = "immunitaire/perimetre-agy" PATCH app/forge_mcp_security.py (CRITICAL_FILE) : aligner le perimetre d'ecriture d'ANTIGRAVITY sur le SSoT des identites main 135
tools/forge_patch_authz_shadow.py Patch CRITICAL_FILE : point d'observation d'autorisation sur :8766 (SHADOW) main 149
tools/forge_patch_authz_via_reel.py Patch CRITICAL_FILE : le journal d'autorisation distingue MAITRE et DERIVE main 150
tools/forge_patch_dedup_gui8766.py One-shot patcher: dedup GUI Phase 6 — :8766 /forge/{rag,swarm,postal} -> 302 :7400 — 80
tools/forge_patch_dense_reclaimer.py declare le cache dense comme RAM reclamable main 112
tools/forge_patch_dense_satiety.py satiete sur la construction du cache dense main 107
tools/forge_patch_env_alias.py patcher one-shot (CRITICAL_FILE) : cable forge_env_alias au boot du hub, juste apres le chargement de Nokido.env main 47
tools/forge_patch_git_encoding.py décodage tolérant pour le git de trusted_script main 104
tools/forge_patch_job_stop_route.py expose l'arret d'un job sur le hub main 117
tools/forge_patch_lane_auto.py lane DEDUITE quand l'appelant n'en fournit pas applique, main 82
tools/forge_patch_login_dpop.py Patch de /api/login : transporter la cle du porteur (RFC 9449) main 102
tools/forge_patch_m2m_routing.py Patcher one-shot CRITICAL_FILE : routage M2M vers AGY apply_block, main 80
tools/forge_patch_muted_paths.py FORGE_COLOR = "immunitaire/chemins-muets" PATCH : rend visibles les chemins d'erreur muets des FICHIERS CRITIQUES appliquer, campagne, main 274
tools/forge_patch_organs_route.py ajoute les routes /organs a web_hub/app.py main 84
tools/forge_patch_poll_ack.py rend l'accusé de réception OPTIONNEL sur poll main 89
tools/forge_patch_presence_namespace.py patcher one-shot (2026-07-26) apply 119
tools/forge_patch_run_network_contract.py Contrat d'appel du tool run : declarer network, et dire ce que sandbox N'EST PAS main 131
tools/forge_patch_sandbox_failopen.py P0 SECURITE — fermer le fail-open du dispatch sandbox (mesure 2026-09-01) main 182
tools/forge_patch_socle.py le patron commun aux patchs de CRITICAL_FILE appliquer, rapporter 72
tools/forge_patch_sse_leak.py FORGE_COLOR = "observabilite/sse-fuite" PATCH tools/nokido_hub.py (CRITICAL_FILE) : fuite des abonnes SSE, angle mort total du journal, et ring de repli fail-OPEN main 276
tools/forge_patch_subprocess_errors.py FORGE_COLOR = "immunitaire/decodage-subprocess" PATCH : subprocess en mode texte SANS errors= -> plantage du thread lecteur main 207
tools/forge_patch_tail_logs.py patcher one-shot du handler read action=tail_logs (app/forge_mcp_registry.py est CRITICAL_FILE : governed_edit refuse, le chemin officiel est un patcher committe lance en trusted_script) main 152
tools/forge_patch_task_assign_desc.py task action=assign perdait l'enonce de la tache : lecture d'une clé absente main 73
tools/forge_patch_task_result_clobber.py Patcheur one-shot : l'accuse M2M n'ecrase plus la reponse complete d'une tache main 93
tools/forge_patch_tool_annotations.py Patch CRITICAL_FILE : cable l'injection des annotations MCP dans le registre main 130
tools/forge_patch_via_capability.py Patch du middleware SHADOW : distinguer un jeton a bail d'un inconnu main 119
tools/forge_patch_vitals_sse.py borner le flux SSE des vitaux applique, main 121
tools/forge_patch_wasm_parsing.py one-shot : corrige le parsing sandbox=wasm main 60
tools/forge_patch_wasm_routing.py one-shot : un TYPE de sandbox explicite prime main 74
tools/forge_patch_whoami_tasks_unclaimed.py Patcheur one-shot : whoami signale les taches DEPOSEES mais jamais RECLAMEES main 115
tools/forge_path_portabilize.py make hardcoded home paths portable tracked_files, py_transform, simple_sub, main 152
tools/forge_pip_ensure.py installe un paquet manquant dans un env Python cible main 35
tools/forge_privileged_bridge.py pont GOUVERNÉ de commandes privilégiées sign_request, verify_request, enqueue_pending, govern (+9) 555
tools/forge_process_manager.py Gestionnaire unifie des process Nokido v18.3 Remplace: launcher.py + restart_claude.py + tray Popen + services_launcher (partiel) port_pid, kill_port, restart_hub, worker_status (+3) 179
tools/forge_provision_clients.py provisionne les tokens par-agent + émet les configs client main 325
tools/forge_proxy_reload.py recharge un service proxy local (defaut forge_openai_proxy :7777) reload_proxy, main 66
tools/forge_public_mirror.py fabrique un SNAPSHOT public sans historique classer_fuite, construire, historique_nettoye, main 551
tools/forge_push_sovereign.py pousse une branche vers GitHub + Codeberg en lisant les tokens AU VAULT git, say, refspec, main 329
tools/forge_py314t_flip_canary.py Acte 5 partial flip canary, rollback-safe phase1_baseline, phase2_flip, phase3_monitor, phase4_commit (+2) 319
tools/forge_py314t_readiness.py Per-workload py314t readiness probe + auto-trigger probe_module_import, hub_notify, parallelisme_mesure, deps_de_travail (+2) 352
tools/forge_pypi_baseline.py PHASE 3 : l'etat AVANT, mesure et rejouable classer_import, compter_imports, baseline, main 153
tools/forge_pypi_freshvenv.py PHASE 8 : la preuve se fait HORS du checkout verdict, main 233
tools/forge_release_assets.py build the DOWNLOADABLE release assets for v0.1 sha256_file, sha256_lf, valider_manifeste, sceller_manifeste (+8) 665
tools/forge_release_lock.py FORGE_COLOR = "infra/deploy : verrou de composition, combinaison exacte des composants" RELEASE LOCK — la combinaison EXACTE des composants, et si elle a ete testee composition, gate_coherence, CompositionIllisible, emettre (+2) 519
tools/forge_restore_from_head.py restaure UN fichier tracke depuis HEAD main 44
tools/forge_retrieval_baseline.py Gel de la BASELINE de ranking de RAGEngine.search — temoin experimental main 236
tools/forge_rule_distiller.py distiller un GARDE depuis un correctif reel fichiers_corriges, source, racines_importees, appels (+8) 327
tools/forge_runas_launcher.py de-privilege + Job-Object launcher for the Nokido supervisor runAs field utilisateur_posix, main_posix, main 340
tools/forge_sandbox_setup.py provision the Nokido code-execution sandbox racines_python, ancetres_a_traverser, ps, is_admin (+19) 677
tools/forge_seed_nokido_entity.py 3b rebrand : ajoute l'entity RBAC wrk_nokido comme MIROIR EXACT de wrk_laforge (ring 0, hub souverain) dans forge_entities (embeddings.db) main 47
tools/forge_service_ondemand.py bascule des services en ON-DEMAND main 110
tools/forge_services_launcher.py CONTRAINTE: lanceur unifie pour brain_worker + LM Studio + ClawHub smoke test, auto-skip si deja UP port_is_listening, http_ok, log, wait_for_port (+25) 1039
tools/forge_snn_vitals_baseline.py Baseline : un LIF integrateur detecte-t-il la detresse RAM plus TOT qu'un seuil ? Question episodes_detresse, detecteur_seuil, detecteur_lif, detecteur_monitor_prod (+3) 371
tools/forge_switches_db_split.py sortir access_switches de la base du RAG copier, verifier, main 150
tools/forge_tui.py Nokido terminal dashboard (stdlib only, no curses/rich/textual) check_services, get_heartbeats, get_rag_status, get_git_info (+3) 235
tools/forge_vault_migrate.py migration des SECRETS Nokido.env -> coffre is_secret, parse_env, cmd_check, cmd_migrate (+2) 338
tools/forge_vault_set_config.py Pose une valeur de CONFIGURATION au coffre — jamais un secret ressemble_a_un_secret, main 93
tools/forge_vendor_asset.py vendor a CDN/web asset into app/web_hub/static (offline souverainete) main 59
tools/forge_vendor_place.py place un asset vendored (telecharge sous C:/tmp) dans app/web_hub/static/, en ecriture OWNER (lance via run action=trusted_script) main 47
tools/forge_wasm_bridge.py pont OWNER-context hub <-> WasmEdge (WSL Debian) win_to_wsl, run_wasmedge, process_once, daemon (+4) 179
tools/forge_wheel_probe_monthly.py Trigger Acte 5 quand ecosystem cp314t pret snapshot_est_reel, doit_ecrire_latest, run_probe, hub_notify (+1) 261
tools/gemini_launcher.py Gemini CLI interactif + relay hub en subprocess — 66
tools/gen_demo_gifs.py Generate launch demo GIFs via Playwright write_html, grab_frames, save_gif, make_terminal_gif (+2) 386
tools/generate_kaggle_export.py Générateur kaggle_export.json v2 ============================================================= Scan AST de tout app/ et génère un export enrichi pour GraphCodeBERT scan_file, generate, main 271
tools/install_boot_hook.py generate the OS-specific hook that launches the Nokido supervisor at boot unite_systemd, daemon_launchd, installer_posix, arreter_posix (+9) 353
tools/install_ortgenai_directml.py Install OnnxRuntime-GenAI with DirectML backend for AMD Radeon iGPU (ryzen-ai) find_whl, install_ort_genai, verify_directml 89
tools/kaggle_push.py Push et déclenche le notebook Kaggle ============================================================= Usage : python tools/kaggle_push.py # push + run python tools/kaggle_push.py --dry-run # push sans run python tools/kaggle_push.py --kernel notebookdnokido Modif inject_version, push_notebook, push_dataset 137
tools/launch_public_mirror.py orchestrate the clean-slate public release info, ok, warn, fail (+9) 779
tools/nokido.py Entrypoint unifie Nokido cmd_status, cmd_hub, cmd_up, cmd_down (+4) 242
tools/nokido_cutover_diag_verrou.py pourquoi le renommage rend ACCES REFUSE temoin, handles, defender, jonctions (+2) 179
tools/nokido_cutover_migrate.py migration RUNTIME-STATE du cutover Nokido migrate_db, migrate_paths, migrate_env, main 98
tools/nokido_cutover_owner.py cutover du nom de dossier, partie OWNER etat, reecrire, inv_services, inv_taches (+10) 1160
tools/nokido_cutover_runbook.py genere docs/cutover_runbook.md (mermaid inclus) construire 296
tools/nokido_deep_rename.py renommage PROFOND laforge->nokido (case-preserving) cibler, rename_str, rewrite_content, is_text (+1) 213
tools/nokido_doctor.py dit a l'utilisateur ce que Nokido a besoin de trouver sur sa machine rendre_texte, rendre_vivant, rendre_modeles, etat_donnees (+2) 320
tools/nokido_extstate_revert.py revert rename KEEP-miss sur l'ETAT EXTERNE main 82
tools/nokido_fix_legacy_paths.py repare les CHEMINS figes laisses par le renommage main 163
tools/nokido_launcher.py Lanceur bureau Nokido ============================================= Double-cliquer sur le raccourci bureau pour obtenir un panneau de contrôle rapide en console Windows input, main 847
tools/nokido_modules.py Interface CLI unifiee pour les modules Nokido main 220
tools/nokido_phase0_derive_paths.py phase 0 du renommage: deriver la racine run 218
tools/nokido_rename.py Renommage Nokido -> Nokido — Phase 1 (docs prose, coupe nette) transform, transform_ui, transform_pycode, transform_pystr (+1) 285
tools/nokido_rename_services.py renommer les services SCM LaForge* -> Nokido* nssm, list_services, service_exists, target_name (+7) 298
tools/nokido_stdio_bridge.py Bridge STDIO async v17.02 ==================================================== Tunnel pur STDIO <-> Hub HTTP run_bridge, main 292
tools/nokido_tui_bridge.py Launcher du bridge TUI web main 90
tools/patch_except_muets_sandbox.py Patch : rendre parlants les except muets de app/forge_sandbox_exec.py main 168
tools/patch_except_muets_sandbox2.py Patch : second lot des except muets de app/forge_sandbox_exec.py main 109
tools/patch_except_muets_sandbox3.py Patch : deplacer # muet-ok du pass vers la ligne du HANDLER main 63
tools/patch_introspect_tool.py greffe le verbe introspect au registre MCP main 174
tools/patch_m2m_cli_derivation.py M2M suit le registre LIVE des CLI main 98
tools/patch_m2m_envelope.py patcheur one-shot CRITICAL_FILE (chemin owner-sanctionne via run action=trusted_script) main 88
tools/patch_m2m_nokido_endpoint.py NOKIDO devient un endpoint M2M main 83
tools/patch_notify_reveil_http.py reveil du drain AGY par HTTP, pas par subprocess main 105
tools/patch_notify_reveille_drain.py le courrier REVEILLE son drain main 115
tools/patch_query_budget_et_deport.py FORGE_COLOR = "immunitaire/budget-requetes" PATCH : la porte non gardee du meme danger, et l'effecteur jamais arme main 143
tools/patch_query_schema_20260708.py One-shot patcher (CRITICAL_FILE path) : ajoute action=schema a l'outil query main 59
tools/patch_reflex_gate.py le garde anti-reinvention, en AVERTISSEMENT main 199
tools/patch_shell_batch_serialize.py Patcher one-shot : serialiser le batch shell par RESSOURCE EXCLUSIVE main 123
tools/publish_multi.py Multi-platform publish au go-public AGPLv3 miroirs_publics, fuites_vitrine, vitrine_hf, fiche_conforme (+13) 765

SNC (cerveau/moelle/SNP)

180 modules · 72,845 lines

Module Definition Public API LOC
app/forge_app_context.py CONTRAINTE: docstrings Google-style complets get_rag, get_settings, get_ssh, get_version_manager (+16) 623
app/forge_bge_m3_shared.py In-process BGE-M3 shared session (Niveau 2 pattern) embed_parallel, runtime_info 293
app/forge_brain_client.py CONTRAINTE: header HD batch brain_ssh_run, brain_ssh_available 178
app/forge_byte_router.py Middleware Hub._tool_call AVANT dispatch ============================================================== Session 5 — 2026-04-27 ADR Gemini 2026-04-15 : middleware dans Hub._tool_call, pas broker séparé get_pending_notifications, configure_poll, ByteRouterMiddleware, ByteDataRouter 315
app/forge_capability_registry.py Façade UNIFIÉE des capacités LLM/agents capabilities_of, has_capability, providers_for, reachable_providers_for (+1) 84
app/forge_clawhub_autoinstall.py ClawHub Auto-Install on-demand ================================================================ Installe a la volee des skills ClawHub pertinents pour une intention donnee load_catalog, refresh_catalog, suggest_skills, install_skill (+1) 447
app/forge_clawhub_bridge.py ClawHub Skill Registry Bridge v1.0 ================================================================ Connecteur isolé en silo pour le registre OpenClaw/ClawHub SkillFile, ClawSkill, ClawHubClient, SkillGuardian (+4) 835
app/forge_code.py CONTRAINTE: 40 hints | 0 restants DangerLevel, DangerCheck, DangerGuard, danger_confirmation_message (+26) 2751
app/forge_commands.py CONTRAINTE: header HD batch safe_write, dispatch_at 660
app/forge_context.py CONTRAINTE: header HD batch set_active_mode, get_rag_engine, get_version_manager, get_settings (+7) 189
app/forge_context_steadiness.py CONTRAINTE: header HD batch update_state, get_status_header, inject_header, get_summary (+1) 129
app/forge_core_models.py CONTRAINTE: Args/Returns/Raises AgentType, TaskPriority, TTLCache, ErrorManager (+13) 1676
app/forge_dispatch_network.py CONTRAINTE: header HD batch handle_scan, handle_ids, handle_chain, handle_switch 598
app/forge_engrid_engine.py Nokido Engrid v3 · Facade principale =============================================================== Transpose ForgeEngridEngine (spec neuro-souveraine) sur les composants réels ShardLatencyEntry, CognitiveShard, CycleResult, ModelQualificator (+3) 731
app/forge_event_stream.py CONTRAINTE: event-driven agent loop Manus-style; backward-compat polling daemons Event, EventStream, AgentLoop, gemini_poll_to_event (+1) 499
app/forge_handler_advanced.py CONTRAINTE: header HD batch handle_optimize_core, handle_sprint_refactor, handle_app_factory, handle_multi_llm (+2) 415
app/forge_handler_ci.py Implémente les handlers de chat TUI @workflow, @ci, @loop et @audit, qui pilotent le gestionnaire Prefect, des commandes SSH distantes et la boucle d'amélioration — 796
app/forge_handler_nr.py CONTRAINTE: +0 docs — 190
app/forge_handler_patch.py CONTRAINTE: header HD batch classify_with_cmd 384
app/forge_handlers.py Fournit a la TUI Nokido des handlers @commande, le routage des requetes et l'arret do_scan, do_scan_basic, run_collaboration, run_comite (+5) 1219
app/forge_hub_client.py CONTRAINTE: +0 docs API ajoutee depuis le 2026-09-22 (premiere ligne de la docstring de chaque symbole) : - entetes_organe entetes_organe, HubClient 380
app/forge_hub_gate.py Gate de gouvernance PARALLÈLE du hub (fail-CLOSED) Verdict, resolve 290
app/forge_hub_worker.py CONTRAINTE: header HD batch HubWorkerClient, get_worker, run_in_worker 236
app/forge_intent_parser.py CONTRAINTE: header HD batch normaliser, racine_verbe, verbes_ordonnes, ParsedIntent (+2) 385
app/forge_intention_gate.py Gate d'intention (Agent Policier, moitié 2/2) check_scope_drift, gate_tool_call 123
app/forge_intention_journal.py FORGE_COLOR = ssot/intention-journal JOURNAL UNIFIE DES INTENTIONS — audit-trail infaillible (doc SSoT souverain, pilier A) record, replay, stats, propose 119
app/forge_log_rotation.py Centralized rotating log handlers for Nokido get_rotating_logger, migrate_to_rotating, cap_existing_log 161
app/forge_m2m_protocol.py Sprint 3 : validation des messages M2M inter-agents mode, acteur_de, valider_identites, incarnation (+6) 659
app/forge_mcp_elicitation.py le hub demande une confirmation a l'OWNER (elicitation MCP) enregistrer_session, capacite, Canal, sse_requis (+6) 260
app/forge_mcp_federation.py le hub Nokido devient CLIENT MCP (federation/proxy) discover, probe, call, main 211
app/forge_mcp_protocole.py negociation de version MCP et consignes serveur du hub (cote SERVEUR) negocier_version 51
app/forge_mcp_registry.py CONTRAINTE: Unified Handler Registry with WebSearch & Agent RPC + SecretGuard v3 (2026-04-25) : - Branchement de forge_secret_guard sur handle_read, handle_write, handle_run.python et handle_query - L'ancienne defense honeytoken (3 paths en dur, ring > 0) est check_unicode_concealment, resolve_tool_name, classer_retour_intent, enforce_explanation (+4) 9397
app/forge_mcp_safe.py execution du code Python recu par MCP safe_exec, run_b64, mcp_safe 76
app/forge_mcp_security.py CONTRAINTE: header HD batch SecretGuardViolation, check_db_quality, safe_path, validate_run_action (+12) 608
app/forge_message_frame.py Enveloppe JSON normalisée inter-agents ================================================================ Nokido est le tronc cérébral ToolDef, MessageFrame, ttl_for_action, InboxRegistry (+4) 396
app/forge_mmap_context.py CONTRAINTE: header HD batch AgentContext, AgentSnapshot, dispatch_with_resonance 350
app/forge_nervous_map.py CARTE NERVEUSE : inventaire unifié des composants internes, PLUGGÉS au CORTEX (routage/décision) et au SYSTÈME NERVEUX (bus d'événements + hormones) daemons, roles, organ_agents, skills (+11) 645
app/forge_nervous_system.py Système Nerveux Central (SNC) de Nokido NervousMode, get_endocrine_levels, get_active_nervous_mode, chemical_prompt_modulation 99
app/forge_nlu.py CONTRAINTE: header HD batch IntentVote, FeatureExtractor, NaiveBayesRouter, CorrectionEntry (+5) 759
app/forge_ordres_bureau.py ordres que le hub confie a la session de l'OWNER, apres son accord deposer, en_attente, prendre, redemarrer_stack (+3) 278
app/forge_postal.py système postal souverain Nokido : FACTEUR (livraison) + SECRÉTAIRE (relève) par CANAL, courrier RICHE + cycle de vie avec ACCUSÉS + dédup anti-triplication claim, ack_mail, unclaim, canonical (+12) 672
app/forge_promcp_profiler.py FORGE_COLOR : observabilite / metacognition (organe, ECRITURE BORNEE) ORGANE : PROFILING PAR TOOL MCP — « ce tool coute-t-il ce qu'on croit ? » record, stats, costliest, observed_cost_ms 204
app/forge_registry.py CONTRAINTE: header HD batch ForgeRegistry, get_registry 441
app/forge_routing_decision.py FORGE_COLOR = routing/contract CONTRAT DE DECISION commun aux routeurs Nokido RoutingDecision, abstention, from_legacy_tuple 228
app/forge_security_lab_adapter.py frontière bornée cœur ⟷ capacités offensives lab_authorized, disabled_message, lab_path, configure_lab_path (+4) 154
app/forge_session_context.py SessionContext unifié Nokido avec osmorégulation ============================================================================= Successeur et unification canonique des SessionContext de Nokido : - Fusionne forge_core_models.SessionContext et forge_session_conte SessionMessage, SessionContext, get_active_session, set_active_session 1046
app/forge_snn_core.py FORGE_COLOR = neuro/snn-substrate SNN CORE — couche LIF canonique APPRENABLE (surrogate gradient) available, selftest, main 211
app/forge_snn_router.py FORGE_COLOR = routing/snn ROUTEUR SNN pour le routage LLM - l'etage L1 de la cascade available, decide_from_rates, SNNRouter, cross_validate_loo (+2) 589
app/forge_spike_router.py Routeur neuronal à basculement de phase ================================================================ Remplace le triage if/else statique par un routeur SNN qui APPREND quelles stratégies fonctionnent pour quels challenges ChallengeFeatures, extract_features, CTFSpikeRouter, Spike (+8) 496
app/forge_state.py CONTRAINTE: header HD batch SharedState, publish_health, read_health, crystallize 392
app/forge_state_manager.py Gere l'etat JSON verrouille du bridge multi-agents et un bus d'evenements par topic EventBus, StateManager, get_state_manager 417
app/forge_synaptic_plasticity.py Plasticité synaptique RAG (Phase 6 Symbiose) Couche d'auto-amélioration au-dessus de forge_rag_qualify.apply_trust_weight() get_dynamic_threshold, get_global_metrics, record_query, feedback_loop (+3) 320
app/forge_tldr_context.py TLDR + HackTricks Context Injector v1.0 ==================================================================== Injecte des exemples de commandes réels (tldr + HackTricks) dans le contexte des silos AVANT envoi au LLM — le modèle génère des commandes "ready-to-ru ContextInjector, get_injector 406
app/forge_tool_scope.py Sprint 2 anti context-bomb : scope dynamique du catalogue MCP active_tools_for, role_scope_for, methode_du_role, expected_scope_for (+4) 481
app/forge_trace_context.py Trace/Correlation ID propagé via contextvars new_trace_id, get_trace_id, set_trace_id, reset_trace_id (+16) 272
app/forge_universal_tool_surface.py FORGE_COLOR : SNP / surface d'entree (adaptateur, sans etat) ORGANE : SURFACE TOOL UNIVERSELLE — MCP, ACP et OpenAPI entrent par la MEME porte ToolCallError, normalize, to_protocol_response, dispatch_universal 162
app/mcp_bridge.py CONTRAINTE: header HD batch handle_list_tools, handle_call_tool, main 608
app/mcp_nr.py CONTRAINTE: header HD batch run_fast, run_all 582
app/mcp_server_tools.py CONTRAINTE: header HD batch rag_search, rag_ingest_text, rag_stats, swarm_status (+47) 1659
tools/after_model_hook.py Hook AfterModel Gemini CLI 1 — 163
tools/claude_capture.py Hook Claude Code : capture UserPromptSubmit + Stop handle_user_prompt_submit, handle_stop, main 207
tools/claude_inbox_tick.py RÉFLEXE UserPromptSubmit (0 token, event-driven) main 593
tools/claude_precompact.py Hook PreCompact Claude Code =================================================== Déclenché juste avant que Claude Code compacte le contexte main 664
tools/claude_session_start.py Hook SessionStart Claude Code Au boot Claude : 1 modele_normalise, version_du_transcript, rappel_audit, section_audit (+14) 642
tools/claude_session_stop.py Hook Stop Claude Code Quand session Claude termine son tour : 1 load_token, main 153
tools/cli_capture_lib.py Helper partage pour la capture des conversations CLI record_turn, normalize_anthropic_content 246
tools/cli_tail_capture.py Tail-watcher pour Gemini CLI + Cline capture_gemini, capture_cline, capture_claude, run_once (+1) 432
tools/deploy_hub_bundle.py Deploie le bundle Hub pre-compile dans le dossier hub servi NO-STORE via /design decider_deploiement, main 96
tools/dump_hub_routes.py Liste TOUTES les routes/mounts du portail :7400 -> identifier les UI reachable non tuilees (RAG, Network, Deno, dashboard...) — 21
tools/finish_redteam_intents.py Pose le JSON des intents offensifs dans le depot redteam via le profil OWNER — 25
tools/forge_audit_intention_effet.py ce qui tourne porte-t-il une INTENTION et un EFFET ? Demande owner du 2026-08-25 : « ce qui n'est pas utile a l'instant T ne devrait pas tourner ; l'autoregulation doit couper ce qui ne porte pas d'intention reelle AVEC effet ; couvrir l'INTEGRALITE de ce qui sc_obj, main 385
tools/forge_boot_context.py Generateur de contexte de reprise pour agents Nokido db_conn, last_session, build_context, inject_gemini_md (+1) 260
tools/forge_broker_base.py Nokido v18.5 BrokerBase 602
tools/forge_broker_deepseek.py Nokido v18.5 Agent: agt_deepseek | DeepSeek V4 Flash + R1 (OSS, code, reasoning) Specialite: code review, debugging, raisonnement chain-of-thought, 1M tokens DeepSeekBroker 105
tools/forge_broker_fast.py Nokido v18.5 Agent: agt_groq | Groq LPU 315-700TPS Specialite: classification rapide, routing, scoring CerberusGuard, < 500ms FastBroker 122
tools/forge_broker_gemini.py Nokido v18.5 Agent: agt_gemini | Google Gemini 2.5 Flash/Pro + cascade 9 tiers Specialite: raisonnement, long contexte, multimodal GeminiBroker 269
tools/forge_broker_local.py Nokido v18.5 Agent: agt_local | Ollama + llama.cpp (100% local, zero cloud, RGPD absolu) Specialite: vie privee totale, offline, code rapide (qwen2.5-coder), vision (llava) LocalBroker 110
tools/forge_broker_manager.py Nokido v18.5 Orchestrateur des brokers — route les messages vers le bon agent selon l intention start_broker, status, main 133
tools/forge_broker_mistral.py Nokido v18.5 Agent: agt_mistral | Mistral Large + Codestral (EU/RGPD, function calling) Specialite: souverainete EU, function calling, structured output, code FIM MistralBroker 73
tools/forge_broker_probe.py Nokido v18.5 Sonde de surveillance token cost & latence pour tous les brokers c, snapshot, display, hub_notify_cost (+1) 206
tools/forge_ci_github_log.py diagnostique un run GitHub Actions EN ÉCHEC via gh api main 70
tools/forge_cli_hygiene_session_prototype.py Prototype for Async Session Resume registry and CLI Output Hygiene pipeline SessionRegistry, CLIHygiene, main 171
tools/forge_cli_tool_deport.py déporte les tools NATIFS de Gemini CLI vers le hub Nokido cmd_status, cmd_deport, cmd_restore, main 209
tools/forge_collab_broker.py Nokido v18.5 Bridge Claude <-> Gemini via API key directe hub_poll, hub_notify, hub_recv, hub_send_to_claude (+2) 601
tools/forge_context_budget.py ce que le contexte RESIDENT coute, a chaque tour descriptions_skills, ecrire_releve, mesurer, expliquer (+1) 534
tools/forge_deno_nlu_audit.py Audit Deno brain.ts NLU layer + nervous_system.ts event bus audit_brain_ts, audit_nervous_system, coverage_report 125
tools/forge_dialogue_score_session.py AXE 8 : hook fin-de-session main 174
tools/forge_effect_surface.py M0 — surface d'effets de Nokido : prouver la FERMETURE, pas inventorier MetaEffet, NoeudConfiance, cycle_de_confiance, Preuve3Roles (+7) 514
tools/forge_endpoint_registry.py SOURCE UNIQUE d'identité des endpoints LLM de Nokido build_inventory, resolve, min_ring_for, id_headers (+2) 263
tools/forge_engrid_engine.py Re-export depuis app/ ===================================================== Le moteur Engrid réside dans app/ pour rester dans le path Nokido — 23
tools/forge_events_wait.py attente bloquante d'événements (jobs) pour SCRIPTS DÉPORTÉS wait_for_job, wait_for_jobs 75
tools/forge_filehandler_migrator.py Audit + migrate FileHandler -> RotatingFileHandler audit, migrate_file, main 170
tools/forge_gemini_mcp_connector.py Connecteur Gemini ↔ MCP Nokido (dynamique) ============================================================================ SDK : google-genai >= 1.0 (pip install google-genai) Fonctionnement : 1 GeminiMCPConnector 534
tools/forge_gemini_mcp_proxy.py Proxy Gemini ↔ MCP Nokido ======================================================= Utilise le nouveau SDK google-genai (1.x) — plus google-generativeai GeminiMCPProxy 412
tools/forge_github_bridge.py passerelle GitHub EN LECTURE pour un client externe adresses_autorisees, filtre_adresse_actif, revoquees, relais_de_confiance (+9) 756
tools/forge_github_bridge_mcp.py transport MCP (stdio) des cinq operations GitHub description_outil, outils_exposes, habilitation_du_processus, habilitation_appelant_exigee (+8) 443
tools/forge_hub_blackbox.py la boite noire du hub echantillon, main 197
tools/forge_hub_reload.py restart du hub (NokidoMCP) via supervisor, DÉTACHÉ main 62
tools/forge_hub_token_rotation.py rotation OWNER-DRIVEN des bearer tokens hub :8766 fp, inventory, execute, cleanup (+1) 613
tools/forge_identity_registry_upgrade.py FORGE_COLOR = "immunitaire/registre-identites" MIGRATION du SSoT config/agent_identities.json vers le SCHEMA 2 : acteur canonique, alias, surface, boite aux lettres, audience (RFC 8707) main 268
tools/forge_ingest_github_repo.py Ingere un DEPOT GitHub entier dans le RAG Nokido, cible PARAMETRABLE parse_slug, fetch, index, main 246
tools/forge_intent_audit.py chaque module réalise-t-il l'INTENTION derrière lui ? Demande owner (02/08) : « audite chaque module, capte l'intention derrière, vois si c'est FAIT » audit, main 198
tools/forge_intent_miner.py Ce que l'owner a DEMANDE, et qu'on ne retrouve nulle part extraire, main 342
tools/forge_intent_verifier.py chaque demande owner est-elle DANS LE CODE ? forge_intent_miner repond « le mot-clef apparait-il dans un MESSAGE DE COMMIT » main 587
tools/forge_job_notify.py Notification souveraine de fin de job aux clients dans la boucle boite_de, notify_subscribers, main 155
tools/forge_job_watch_notify.py Facteur de fin de job : observe un job deporte et notifie automatiquement les clients DANS LA BOUCLE a sa terminaison main 211
tools/forge_m2m_db_split.py Sortir agent_messages de RAG/embeddings.db vers la base M2M dediee copier, verifier, main 184
tools/forge_m2m_emanate.py Émanation du dictionnaire M2M vers RULES_SHARED.md — 117
tools/forge_mcp_dynamic_selftest.py e2e : outils forges exposes en MCP (A1+A2) main 69
tools/forge_mcp_http.py Transport HTTP pour Nokido MCP (Streamable HTTP 2025-11-25) ================================================================================== Complète nokido_mcp_server.py en mode HTTP : - Endpoint POST /mcp → JSON-RPC messages (client → server) - Endpoint GE construire_app, run_http_server, start 540
tools/forge_mcp_json_sync.py sync Bearer tokens dans .mcp.json (format Claude Code / Cline / VSCode MCP clients) depuis le coffre machine DPAPI entetes_agent, main 325
tools/forge_mcp_persistent.py Client MCP Persistant avec Schema Cache et Lazy Loading ================================================================================== Optimise le dialogue MCP en : 1 mmap_store, mmap_get, mmap_clear_old, SchemaCache (+3) 409
tools/forge_mcp_proxy.py Proxy STDIO → HTTP Nokido Hub v2.0 ========================================================= Proxy JSON-RPC 2.0 conforme spec + sécurité renforcée run 364
tools/forge_pair_mcp.py connecteur MCP des PAIRS cloud (claude.ai, ChatGPT) : lecture + quarantaine dossier_sandbox, dossier_capsules, chemin_rag, chemin_m2m (+19) 569
tools/forge_patch_agent_list_from_registry.py FORGE_COLOR = "securite/identite-clients" PATCH : le hub charge les jetons de TOUTES les identites declarees, pas d'une liste figee main 169
tools/forge_patch_hub_dspy_agent.py One-shot patcher: ajoute DSPY_ROUTER a _AGENT_LIST de tools/nokido_hub.py — 47
tools/forge_patch_hub_elicitation.py cable l'elicitation MCP dans le hub (fichiers CRITIQUES) appliquer, main 212
tools/forge_patch_hub_ordres_bureau.py cable hub action=redemarrer_stack|ordre_bureau (fichier CRITIQUE) main 85
tools/forge_patch_hub_origine401_v2.py Correctif : le cache de resolution bloquait l'identification qu'il devait servir main 144
tools/forge_patch_hub_origine_401.py Patch : faire dire au hub QUI emet les requetes rejetees en 401 main 214
tools/forge_patch_hub_service_par_pid.py Jointure PID -> NOM DE SERVICE : que le journal nomme, au lieu de numeroter main 164
tools/forge_patch_hub_sse_conforme.py l'ouverture du flux SSE de tools/call devient un COMMENTAIRE SSE (fichier CRITIQUE tools/nokido_hub.py) main 62
tools/forge_patch_mcpsec_fix3.py One-shot patcher: fix #3 A+B on app/forge_mcp_security.py — 69
tools/forge_patch_muted_paths_hub.py FORGE_COLOR = "immunitaire/chemins-muets" PATCH : chemins d'erreur muets de tools/nokido_hub.py (fichier CRITIQUE) main 234
tools/forge_patch_nudge_hub.py FORGE_COLOR = "regulation/reveil-embedding" PATCH : le reveil d'embedding du hub verifie qu'on l'ecoute main 101
tools/forge_patch_promcp_hook.py greffe le profileur ProMCP sur ToolRegistry.dispatch main 122
tools/forge_patch_registry_access_count.py One-shot patcher: signal d'usage access_count (T1 ADAPT memory_decay AGY) — 105
tools/forge_patch_registry_compact.py One-shot patcher: Sprint 1 anti context-bomb sur app/forge_mcp_registry.py — 140
tools/forge_patch_registry_compact_fix1.py One-shot patcher fix1: NameError re dans _compact_tools (forge_mcp_registry) — 50
tools/forge_patch_registry_m2m.py One-shot patcher: Sprint 3 M2M sur app/forge_mcp_registry.py — 103
tools/forge_patch_registry_research_tothread.py One-shot patcher: handle_research_agent hors event-loop (Fix 3 RCA wedge) — 54
tools/forge_patch_registry_toolscope.py One-shot patcher: Sprint 2 anti context-bomb sur app/forge_mcp_registry.py — 118
tools/forge_patch_registry_tothread.py One-shot patcher: to_thread sur _archive_long_args dans forge_mcp_registry.dispatch — 50
tools/forge_pool_registry.py Registre d'efficacité mesurée du pool d'exécution de Nokido get_db_connection, init_db, get_member_cost, publish (+3) 391
tools/forge_reload_prompt.py Popup branded Nokido expliquant l'UAC (cas par cas) avant reload main 172
tools/forge_session_provenance.py lignée de provenance des compactions de session enrich_with_provenance, session_provenance 129
tools/forge_ui_hub_rebuild.py Recompile l'artefact servi du hub depuis ses sources de reference recompiler, main 225
tools/forge_veille_backlog_github.py le RETARD de veille, depot par depot main 654
tools/forge_veille_ecosysteme_github.py elargissement ECOSYSTEME sans SearXNG main 133
tools/forge_verif_post_restart_securite.py Verification des corrections de securite du 2026-09-12, apres redemarrage du hub predit, a_observer, observations, main 306
tools/forge_vscode_mcp_sync.py MATERIALISE le hub Nokido DANS chaque addon VSCode/CLI plan_client, apply_client, main 294
tools/gemini_hub_relay.py v3.0 — PTY wrapper OAuth persistant ========================================================= Gemini CLI tourne en session interactive via PTY (winpty) log, hub_call, hub_poll, hub_notify (+3) 251
tools/gemini_notify.py Envoyer taches/messages a agt_gemini via state_manager send, main 115
tools/hook_bash_compact.py Hook Claude Code PreToolUse(Bash) : réécrit une commande VERBEUSE pour piper sa sortie dans forge_cmd_compactor AVANT qu'elle entre dans le contexte (les hooks ne peuvent PAS réécrire la SORTIE — seul updatedInput.command, cf main 93
tools/hook_capability_gate.py gate de CAPACITÉS : la bonne forme AVANT l'erreur verdict_forme, verdict_depense, empreinte_rappel, promotion_verdict (+1) 1021
tools/hook_instructions_loaded.py capteur InstructionsLoaded de Claude Code (observation seule) consigner, bilan, main 113
tools/hook_recon_first.py Garde PreToolUse : interroger la MEMOIRE avant d'instrumenter un domaine neuf main 369
tools/hook_tool_budget_gate.py Gouverneur silencieux du budget d'outils -- empeche la boucle, ne commente pas empreinte, verdict_pre, noter_mutation, noter_echec (+2) 273
tools/hub_call.py Interface universelle hub Nokido pour Gemini Usage: python tools/hub_call.py <action_ou_tool> [key=value ...] Actions hub (passent via tool=hub, arguments={action:...}) : poll notify message="..." whoami quota_model quality=medium apply=true quota_report flash — 109
tools/hub_call_antigravity.py Interface universelle hub Nokido pour Antigravity Usage: python tools/hub_call_antigravity.py <action_ou_tool> [key=value ...] — 99
tools/hub_lifecycle_hooks.py Server-side lifecycle hooks middleware ===================================================================== Équivalent unifié des hooks SessionStart/AfterModel par-client (Gemini CLI, Claude Code hooks, etc.) — agit côté hub :8766 selon X-Agent-Name header pre_dispatch, post_dispatch, wrap_response 291
tools/hub_live_patch.py Monkey-patch temps reel pour nokido_hub ============================================================ Importe ce module UNE FOIS au demarrage du Hub patch_app 182
tools/hub_middleware.py ======================== KNOWLEDGE_HARVESTER_V1 sanitize_path, sanitize_string, validate_tool_name, validate_arguments (+2) 435
tools/hub_minimal.py Hub minimal Nokido — 44
tools/hub_rt_patch.py Patch temps réel pour nokido_hub.py Applique 3 modifications : 1 — 115
tools/mcp_bridge_selftest.py valide B : _write_out (lock) + watcher capabilities main 64
tools/mcp_nr.py NR automatique lancé par Claude via MCP sandbox ================================================================= Chaque fonction est courte (<50 lignes) pour passer la sentinelle check_ast, check_globals_fh, check_no_self, check_registry (+10) 698
tools/mcp_stdio_bridge.py Bridge stdio → HTTP Nokido Hub v3.0 =========================================================== Permet à Claude Desktop de parler en stdio pendant que le vrai serveur MCP Nokido tourne en service Windows permanent (nssm) get_secret, run_bridge 846
tools/nokido_hub.py � Nokido Hub v18.3 | Network Monitor redesign ============================================================= v18.2 : UI /forge/network entièrement redesignée watch_ui, watch_jobs_api, watch_create_api, watch_stream_api (+6) 7273
tools/nokido_hub_cli.py point d'entree CONSOLE du hub, synchrone et mince main 97
tools/nokido_mcp_server.py Nokido MCP Server (STDIO) v17.02 ========================================================= Unified with forge_mcp_registry (Chantier C) handle_list_tools, handle_call_tool, main 197
tools/nokido_web_hub.py Launcher du hub FastAPI Nokido main 286
tools/notify_gemini_align.py Envoie briefing alignement a Gemini via hub notify — 53
tools/notify_gemini_analysis.py Send Claude analysis to Gemini — 47
tools/notify_gemini_resume.py Notify Gemini: correct ChainExecutor API + resume_chain.py usage — 44
tools/patch_audit_prompts_registry.py descriptions d'outils MCP exactes (audit de prompts 2026-09-26) appliquer, main 118
tools/patch_gardes_muets_registry.py FORGE_COLOR = "immunitaire/chemins-muets" PATCH : les chemins muets de app/forge_mcp_registry.py qui DESARMENT UN GARDE main 148
tools/patch_github_token_coffre.py FORGE_COLOR = "immunitaire/secrets-au-coffre" PATCH : run action=github lit son jeton dans le COFFRE, plus dans l'environnement main 71
tools/patch_intention_gate_wiring_20260708.py One-shot patcher : câble gate_tool_call (gate d'intention Agent Policier) dans forge_mcp_registry.dispatch(), juste après le check RBAC main 51
tools/patch_job_kill_registry.py cable le verbe MCP job_kill dans le registre main 136
tools/patch_provenance_hub_shell.py Patch : propager l'identite authentifiee jusqu'au shell sandboxe main 102
tools/quota_hook.py v3 — Hook SessionStart Gemini CLI ================================================ Au boot : Gemini rapporte son état quota via hub notify, puis injecte le contexte dans GEMINI.md projet hub_call, read_quota_state, get_best_available, get_rag_filters 174
tools/recon_hub_data.py Recon des vraies sources pour cabler les vues /hub (federation/cap/persona) — 54
tools/restart_hub.py Restart hub: kill current process then start fresh — 32
tools/session_anchor.py Hook Stop Claude: session_summary + resync Gemini + daemons — 72
tools/store_github_token.py ============================ Stocke le GITHUB_TOKEN dans Windows Credential Manager store 34
tools/store_openrouter_key.py ============================== Stocke la clé OpenRouter dans Windows Credential Manager store_key 61
tools/test_hub_endpoints.py Appelle directement les endpoints /api/hub/overview + /api/hub/federation (async, env serveur) -> prouve qu'ils renvoient de la VRAIE donnee main 21
tools/test_hub_mcp_handshake.py Minimal MCP handshake against Nokido Hub :8766/mcp Run: LAFORGE_PYTHON tools/test_hub_mcp_handshake.py Background (2026-05-02 reachability probe): A reachability probe found tools/list against http://127.0.0.1:8766/mcp timed out (10s ReadTimeout) load_token, call, main 161
tools/test_hub_tiles.py Test E2E LIVE des tuiles du Hub : GET /api/hub/modules (ce que le navigateur recoit) puis GET chaque href resolue hit 76

Memoire (hippocampe/RAG)

170 modules · 46,338 lines

Module Definition Public API LOC
app/forge_biblio_core.py Nokido Bibliography Worker extract_from_text, insert_biblio_raw, list_entries, get_entry (+2) 410
app/forge_biblio_worker.py Nokido Bibliography Worker process_entry, run_loop, main, process_one_entry 368
app/forge_body_world_model.py World Model du corps (P2-1) load_services_config, get_live_supervisor_status, build_dependency_graph, predict_impact (+1) 251
app/forge_dist_storage.py Distribution storage R2/HF/OneDrive + sanitize pipeline sanitize_text, is_whitelisted_source, sanitize_chunk, export_sanitized (+3) 247
app/forge_embed_router.py cascade embedding providers masquer_pour_cloud, declare_wanted, declare_embed_wanted, embed_batch (+6) 1384
app/forge_epistemic_retrieve.py Step 5 epistemic: cluster-aware retrieval wrap autour RAGEngine cluster_aware_retrieve, qualifier_resultats, format_for_llm, main 353
app/forge_generation.py le corps garde ses ETATS, pas seulement ses fichiers capacites_normalisees, verdict_recul, frein_si_recul, capturer (+8) 837
app/forge_graph_rag.py Graph-RAG Layer for Nokido ================================================= Transforms flat vector RAG (embeddings.db) into a navigable knowledge graph GNode, GEdge, TraversalResult, GraphRAG 421
app/forge_graph_rag_hops.py GraphRAG hop expansion layer graph_rag_search, main 294
app/forge_handler_fragment.py Handler @fragment TUI ====================================================== Interface avec le Siloed Fragmentation Engine + Noise Guardian handle_fragment 166
app/forge_handler_rag.py CONTRAINTE: header HD batch — 554
app/forge_hebbian_linker.py Plasticité Hebbian sur biblio_link coactivation_topics, coactivation_ideas, coactivation_search_results, reinforce_links (+3) 312
app/forge_hub_storage.py Fournit des E/S fichier tolérantes : écriture atomique via .tmp puis rename, lecture avec retry sur PermissionError, et filtrage de chemins par motifs d'exclusion should_ignore, atomic_write, safe_read, scan_with_delay (+1) 156
app/forge_hybrid_bridge.py Nokido · Bridge LLM multi-provider ============================================================= Drop-in replacement pour MultiLLMBridge (spec Engrid) MultiLLMBridge 306
app/forge_ingest_self.py CONTRAINTE: Args/Returns/Raises force_self_ingestion 544
app/forge_memory.py CONTRAINTE: header HD batch MemSnapshot, MemoryMonitor, MemoryProfiler, MemoryOptimizer (+1) 417
app/forge_memory_archival.py memory hierarchique Letta MemGPT pattern promouvoir_brouillon, ConvMessage, ArchivalMemory, get_agent_memory (+1) 655
app/forge_memory_availability.py Disponibilite de la connaissance PAR CANAL — ce que Nokido sait, et par quelle voie tier, statut_vectoriel, statuts_pour, annoter (+5) 588
app/forge_mesh_memory.py CONTRAINTE: header HD batch MeshMemory, get_mesh, mesh_status 426
app/forge_metier_dispatch.py route une tâche vers la BONNE persona métier + sa KB route, dispatch, main 219
app/forge_mixin_rag.py CONTRAINTE: header HD batch RAGMixin 379
app/forge_npu_embedder.py CONTRAINTE: header HD batch detect_hardware, embed_via_probe, get_embed, get_npu_embedder (+3) 539
app/forge_nudge_embed.py FORGE_COLOR = "regulation/reveil-embedding" REVEIL du daemon d'embedding — et il DIT quand personne n'ecoute nudge_embed 146
app/forge_ollama_memory.py CONTRAINTE: header HD batch OllamaMemoryManager, get_mem_mgr 291
app/forge_rag_cache.py CONTRAINTE: header HD batch RagCache, get_rag_cache, warm_rag_cache_async 414
app/forge_rag_engine.py CONTRAINTE: +0 RAGEngine, get_rag, run_full_cycle 2382
app/forge_rag_index_app.py CONTRAINTE: header HD batch index_file, index_app_dir 399
app/forge_rag_introspect.py FORGE_COLOR : memoire / metacognition (organe, READ-ONLY) ORGANE : INTROSPECTION RAG — « POURQUOI ce chunk est-il remonté ? » introspect 133
app/forge_rag_janitor.py CONTRAINTE: RAG Cleaning & Noise Reduction RAGJanitor 161
app/forge_rag_mixin.py CONTRAINTE: header HD batch rag_self_warmup 41
app/forge_rag_qualify.py CONTRAINTE: Args/Returns/Raises qualify_chunk, migrate_qualify_all, trust_weight, apply_trust_weight (+3) 456
app/forge_rag_store.py CONTRAINTE: header HD batch MarkerConverter, MarkdownChunker, QdrantConfig, QdrantStore (+1) 558
app/forge_rag_truth.py CONTRAINTE: header HD batch TruthState, ValidationSignature, est_valide_a, filtrer_as_of (+19) 1250
app/forge_rag_via_hub.py le RAG de la TUI v13 passe par le HUB, sans rien charger en local analyser_resultats, RAGViaHub 130
app/forge_rag_warmup.py CONTRAINTE: header HD batch rag_self_warmup, index_self_in_rag, warmup_rag 689
app/forge_sdr_encoder.py Sparse Distributed Representation (Numenta HTM) encode, overlap, similarity 60
app/forge_self_correction.py Ancre erreurs et solutions dans rag_chunks/rag_fts et les retrouve avant une action preflight_check, preflight_check_verbose, anchor_error, anchor_solution (+5) 1196
app/forge_service_rss_watch.py Capteur de DERIVE MEMOIRE par service nomme — la grandeur qui manquait echantillon, derives, alerter 389
app/forge_sigreg.py Régulariseur anti-collapse RAG ================================================= Inspiré du SIGReg de LeWorldModel (LeCun et al., Mila/NYU/Samsung, mars 2026) SIGRegStats, sigreg_check, mmr_diversify, apply_sigreg (+2) 314
app/forge_skill_rag_bridge.py Pont SkillLearner ↔ RAG ↔ @disco ============================================================= Rôle : connecter les trois systèmes sans les coupler directement SkillRAGBridge, RAGReservoirReadout 640
app/forge_ssot.py Couche SSoT GÉNÉRIQUE pour TOUT savoir centralisé register_domain, enforce_schema, consult_ssot, answer_uniform (+3) 294
app/forge_ssot_maintainer.py garde les SSoT structurés FRAIS (#2 du build SSoT) etat_roadmap, refresh_state, refresh_all, regen_full 499
app/forge_state_encoder.py Phase 0 — AMI roadmap: encode Nokido system state → 384d float32 embedding get_current_state_text, get_current_state_text_rich, encode_state, encode_state_batch (+1) 339
app/forge_stm.py Short-Term Memory (LeCun AMI module 5) ShortTermMemory, get_stm, augment_state_emb 122
app/forge_successor_repr.py Successor Representation (Dayan 1993) pour Nokido successor_scores, propagation_score, impact_signature 109
app/forge_vector_index.py Nokido v18.5 ANN Index (FAISS) ========================================================= Index HNSW en RAM chargé depuis embeddings.db au démarrage VectorIndex, get_vector_index 370
app/forge_world_model.py Phase 3 - AMI roadmap: World Model (JEPA-lite) NMLP, train, predict, predict_cost (+11) 836
app/forge_world_vector_codec.py FORGE_COLOR = edge/world-vector-codec CODEC DE TRANSMISSION du world-vector 4096D — maillon MANQUANT 4096D <-> edge fleet quantize, dequantize, pack, unpack (+2) 103
app/nokido_core.py Tient l'etat mode/ring du hub et en derive outils permis, recherche RAG et prompts CollabMode, SecurityRing, CoreState, StateManager (+7) 1543
app/patch_rag_warmup.py CONTRAINTE: header HD batch — 69
app/semantic_scanner.py CONTRAINTE: header HD batch extract_nodes, ollama_keywords, scan_file, run 259
tools/batch_embed_priority.py Batch embed nokido_code + forge_core domains (missing embeddings) zmq_embed_batch, embed_missing, ingest_gitingest 130
tools/bench_jepa_rca.py cProfile JEPA train_step pour identifier hotspot run_profile, main 103
tools/bench_rag.py A/B benchmark RAG (CPU+IO mixed, goulot critique UX) main 193
tools/biblio_cli.py CLI Bibliography Worker (Sprint α — α6b) Usage: python tools/biblio_cli.py search <entry_id> python tools/biblio_cli.py list [--status=] [--limit=] python tools/biblio_cli.py promote <entry_id> python tools/biblio_cli.py reject <entry_id> --reason=< cmd_list, cmd_search, cmd_promote, cmd_reject (+5) 214
tools/build_bge_m3_embeddings.py Génère les embeddings BGE-M3 (1024d) pour les domaines prioritaires de rag_chunks et les stocke en BLOB float32 binaire load_model, fetch_chunks, count_already_done, embed_and_store (+1) 217
tools/check_gitingest_rag.py Deep check: what's actually in RAG vs what should be from gitingest — 60
tools/embed_direct.py Direct batch embedder — BGE-M3 ONNX via DirectML (Radeon 780M) or CPU fallback load_session, make_tokenizer, infer, run 253
tools/forge_anchor_rag_session.py Ancre les decisions de la session RAG dans Nokido main 81
tools/forge_auto_compact.py Auto-compact old RAG chunks via LLM summarization compact_batch, run_compaction 205
tools/forge_background_review.py fork post-turn LOCAL : auto-anchor solution + propose skill review_session, main 200
tools/forge_bench_ragtool.py Bench du hub rag tool (pipeline dense) main 170
tools/forge_blind_spot_index.py indexer le code VIVANT mais hors suivi git suivis, hors_suivi, decouper, indexer (+1) 229
tools/forge_capability_consolidation.py l'archeologie parle enfin a quelqu'un est_offensif, lire_vestiges, encore_absent, collateral (+3) 374
tools/forge_code_reindex.py reindexer BULK EFFICACE du code -> RAG (standalone, sans warmup) reindex, main 112
tools/forge_cognition_dim_selftest.py valide la centralisation des dims cognition main 108
tools/forge_cognition_retrain_4096.py A/B world-model @4096 vs @1024 vs @384 (GATE cutover dim-unif) main 145
tools/forge_cold_tier_cleanup.py Suppression du vrai dechet du RAG main 102
tools/forge_cve_rag_ingest.py GELÉ le 2026-09-27 OutilGele, run 66
tools/forge_db_recover_chunks.py v2 — rattrape rag_chunks — 85
tools/forge_db_restore_chunks.py rag_chunks INRÉCUPÉRABLE de la corrompue (SELECT * malformé, arité incohérente) — 61
tools/forge_docker_truth_probe.py vérité terrain sur la vie de Docker, en continu main 109
tools/forge_embed_8099_mesure_bornee.py mesure BORNEE de l'embedder local :8099 main 450
tools/forge_embed_auto_trigger.py Daemon: watches for NULL-embedding RAG chunks, auto-embeds via forge_embed_router (:8099 BGE-M3 GGUF + cascade), heartbeat sandbox/ campagne_cloud_active, run_pass, main 499
tools/forge_embed_backfill.py Rattrapage : vectorise tous les rag_chunks avec embedding=NULL via embed_router batch + concurrent backfill, main 167
tools/forge_embed_backfill_brain.py Backfill NULL chunks via brain_worker ZMQ direct (skip cascade router) brain_embed, encode_blob, backfill, main 141
tools/forge_embed_backfill_cool.py Backfill ULTRA-CONSERVATIVE : CPU-only brain_worker + IDLE priority + sleep generous + resource_manager gate set_idle_priority, should_throttle, brain_batch, encode_blob (+3) 345
tools/forge_embed_backfill_hybrid.py Backfill hybride : Jina v3 cloud (free 1M tok/mois) primaire, brain_worker DirectML fallback quand quota Jina epuise OU erreur HTTP jina_batch, brain_batch, encode_blob, backfill (+1) 213
tools/forge_embed_backfill_jina.py backfill cloud des embeddings NULL via Jina prep, embed, apply 145
tools/forge_embed_backfill_voyage.py Backfill NULL chunks via Voyage AI direct (skip cascade router) voyage_batch, encode_blob, backfill, main 181
tools/forge_embed_bridge.py pont projection 384d (cognition MiniLM) <-> 1024d (RAG BGE-M3) fit, to_1024, to_384 122
tools/forge_embed_cloud_probe.py Sonde LIVE des providers d'embedding cloud (jina / voyage / modal) main 217
tools/forge_embed_cloudflare_lot.py lot BORNE de vectorisation via Cloudflare Workers AI main 170
tools/forge_embed_corpus_audit.py audit de ce qui est REELLEMENT vectorise (tier chaud) audit, main 50
tools/forge_embed_eco.py Drain ECO du backlog HOT en BGE-M3 ONNX sur CPU (onnxruntime CPUExecutionProvider + lib tokenizers) embed, audit, verify, drain (+1) 215
tools/forge_embed_json_to_blob.py Convertit les embeddings JSON-TEXT en BLOB binaire main 73
tools/forge_embed_lot_commun.py le socle partage des outils de drain BORNE d'embedding PlanNonIndexe, candidats_sans_vecteur, ouvrir_lecture, ecrire_rapport (+3) 157
tools/forge_embed_modal_bench.py Bench de l'endpoint Modal sur des chunks FROIDS reels main 99
tools/forge_embed_modal_campagne.py Campagne de vectorisation du backlog (tier CHAUD) via le CLOUD : Cloudflare Workers AI @cf/baai/bge-m3 (allocation gratuite quotidienne), puis l'endpoint Modal (BGE-M3, 1024D ; budget mensuel) en relais -- le MEME modele (mesure 2026-10-01 : cos 0,9997-1,000 premier_qui_rend, main 256
tools/forge_embed_onnx_mesure.py Mesure du chemin d'embedding ONNX LOCAL — identite de l'espace, puis debit verdict_identite, main 290
tools/forge_embed_reference.py priority-embed CIBLÉ du domain='reference' (saute la queue 142k cold) main 77
tools/forge_embed_router_8099_test.py valide le câblage :8099 dans embed_router main 49
tools/forge_embed_voyage_echantillon.py Echantillon VOYAGE sur le froid : mesurer le COUT REEL avant d'engager le quota main 153
tools/forge_embed_worker_isolated.py Wrapper Win32 Job Object pour brain_worker BGE-M3 IO_COUNTERS, JOBOBJECT_BASIC_LIMIT_INFORMATION, JOBOBJECT_EXTENDED_LIMIT_INFORMATION, create_job_with_mem_cap (+5) 243
tools/forge_endpoint_qualify.py Qualification de TOUS les endpoints LLM joignables qualify_provider, qualify_http, main 213
tools/forge_enquetes_publier.py Publie la memoire d'enquete sous une forme partageable, generisee et FUSIONNABLE main 198
tools/forge_epistemic_migrate.py Migration epistemic schema (Step 1 plan epistemic 2026-05-28) migrate 132
tools/forge_espace_vectoriel_preuve.py PROUVER que deux modeles 1024d ne partagent pas d'espace main 136
tools/forge_exec_tier.py politique TRUST→TIER d'exécution de code pick_tier, run_sandboxed 56
tools/forge_fable5_anchor.py ancre les FAITS CANONIQUES Fable 5 (skill claude-api) en domain=reference pour contrebalancer la veille web non-fiable (anti-poison RAG) — 53
tools/forge_fix_null_ids.py Assigne un id deterministe aux chunks rag_chunks id=NULL main 64
tools/forge_free_tier_census.py Combien de modeles sont JOIGNABLES en palier gratuit — et le rester catalogue, est_gratuit, joignable, quota (+2) 258
tools/forge_freetier_probe.py sonde ONLINE chaque provider free-tier via le hub ask (direct) probe, main 62
tools/forge_fts_backfill.py rattrape les chunks INVISIBLES au lexical main 134
tools/forge_fts_repair.py Reparation de l'index lexical du moteur (rag_chunks_fts) — a lancer DEPORTE ingestion_active, triggers_etat, poser_triggers, rattraper_incremental 335
tools/forge_hub_memory_probe.py d'ou viennent les Go d'un process du corps ventiler, main 138
tools/forge_index_tools.py One-shot : indexe tools/ dans le RAG (comble le trou des 241 modules tools/forge_* jamais vectorisés) — 24
tools/forge_jepa_dataset.py Construit un dataset contrastif SANITIZÉ depuis execution_traces.db pour fine-tuner BGE-M3 (LoRA) hors-site (Colab/Kaggle) build, build_oplog, main 398
tools/forge_jepa_finetune_local.py Fine-tune LoRA BGE-M3 EN LOCAL sur CPU main 149
tools/forge_kaggle_embed_export.py Chantier A : export des chunks PUBLICS (embedding NULL) vers des shards jsonl.gz pour embedding BGE-M3 sur Kaggle GPU — 55
tools/forge_kaggle_embed_import.py Chantier A3 : import GATÉ des vecteurs Kaggle main 128
tools/forge_memory_compactor.py GC semantique de l'index memoire Claude (.claude/.../MEMORY.md) audit, corriger_renommages, rattacher, compact (+1) 636
tools/forge_memory_consolidator.py Hippocampus→Cortex consolidation (Hassabis) run_consolidation_cycle, main 284
tools/forge_memory_forensics.py le point complet sur les .md memoire analyser, recover, main 128
tools/forge_memory_gate.py P2a du homeostat axiologique : filtre qualite AVANT ingest/consolidation (foie/intestin) should_ingest, selftest 169
tools/forge_memory_index_compact.py compacte un INDEX memoire markdown sans rien perdre compacter, main 131
tools/forge_memory_index_export.py le nerf afferent entre les fiches et le corps recenser, ecrire, main 221
tools/forge_memory_ingest.py les fiches memoire entrent dans l'hippocampe ingerer, main 307
tools/forge_memory_junction.py faire entrer la memoire de Claude Code dans le corps migrer, main 244
tools/forge_memory_keeper.py OrganAgent KEEPER de la MÉMOIRE PARTAGÉE remember, lessons, recall, status (+1) 180
tools/forge_memory_ledger.py gate de secours BLOCKCHAIN pour la memoire .claude sync, verify, status, recover (+2) 255
tools/forge_memory_moc.py l'index chaud devient un ROUTEUR, pas un annuaire repartir, appliquer, main 308
tools/forge_memory_snapshot_refresh.py Rafraichit le snapshot de disponibilite memoire main 69
tools/forge_memory_staleness.py une memoire est-elle encore VRAIE ? forge_memory_forensics dit OU vit une memoire (chaude, froide, orpheline, perdue) frontmatter, classe, ancrage, analyser (+2) 455
tools/forge_metier_kb_ingest.py KB pass 2 : ingère de VRAIS docs domaine dans la KB d'un métier ingest, main 138
tools/forge_metier_pool.py active le POOL d'agents metiers (app/agent_*) avec des fiches SPECIALISEES et QUALIFIEES, RECHERCHEES par LLM (pas de boilerplate) main 288
tools/forge_modal_deploy_embed.py Deploie l'endpoint d'embedding BGE-M3 sur Modal, auth par le COFFRE main 191
tools/forge_patch_rag_authority.py Porte l'autorite de source dans le moteur REELLEMENT utilise par le tool rag main 110
tools/forge_patch_rag_loader_np.py One-shot patcher: decode numpy zero-copy du cache dense (forge_mcp_registry) — 75
tools/forge_patch_rag_meta_trim.py One-shot patcher: trim meta text du cache dense (app/forge_mcp_registry.py) — 55
tools/forge_patch_rag_prewarm.py One-shot patcher: fix cold-wedge RAG (RCA 2026-07-07) on app/forge_mcp_registry.py — 134
tools/forge_pypi_chantier_outils.py PHASE 2 : l'outillage se MESURE avant de servir classer_echec_parse, verdict_corpus, fichiers_corpus, main 208
tools/forge_pytorch_world_model.py World Model PyTorch (NMLP + JEPA autograd) TorchNMLP, TorchJEPA, train, train_jepa (+4) 474
tools/forge_qdrant_parity.py Gate de parité vector-search (baseline faiss vs Qdrant) run, main 83
tools/forge_qdrant_server.py Lanceur du serveur Qdrant natif (:6333 REST / :6334 gRPC) env_sans_config, main 61
tools/forge_rag_coverage_audit.py P1 archeologie : que porte reellement le RAG ? Le RAG annonce 1,16 M de chunks auditer, main 160
tools/forge_rag_dedup_hash.py dedup des chunks RAG par hash, ARCHIVE puis supprime rapport, restaurer, main 167
tools/forge_rag_embed_daemon.py Embedde les chunks RAG dont embedding IS NULL run_once, main 121
tools/forge_rag_index_fingerprint.py Index d'EXPRESSION sur le fingerprint : la dedup cesse de balayer 22,8 Go main 155
tools/forge_rag_llama_query.py RAG -> llama-server inference, standalone embed_query, rag_search, compose_prompt, call_llama (+1) 192
tools/forge_rebuild_embeddings.py Rebuild complet des embeddings RAG (parallele) hf_embed, deepinfra_embed, nvidia_embed, cloudflare_embed (+3) 395
tools/forge_rebuild_local.py Rebuild embeddings RAG 100% LOCAL embed_parallel, embed, main 300
tools/forge_reindex_deport.py Reindex CODE déporté, embedding via PROVIDER cloud log, probe, whereis, phase_a_index (+2) 610
tools/forge_retier_corpus.py Aligne le tier vectoriel sur la politique d'origin main 79
tools/forge_roadmap_synth.py Synthese SOUVERAINE de la ROADMAP Nokido main 435
tools/forge_session_anchor.py Auto end-of-session RAG anchor + lessons_learned append collect_session_data, generate_summary, anchor_session, save_to_lessons 167
tools/forge_sft_eval.py éval HELD-OUT : base vs adapter LoRA sur des problèmes HumanEval JAMAIS vus à l'entraînement (pas de leakage) = mesure HONNÊTE du gain SFT main 83
tools/forge_sft_export.py exporte un golden-dataset SFT (chat JSONL) depuis les trajectoires GAGNANTES, pour fine-tuner un modèle de base (le 7b expert de tes projets) harvest_swebench, harvest_goap, harvest_humaneval, harvest_mbpp (+2) 322
tools/forge_sft_train.py fine-tune SFT (LoRA) d'un petit modèle coder sur le golden-dataset load_golden, main 110
tools/forge_success_oplog.py la memoire des VICTOIRES, pas des intentions analyser_commit, entrees, recidive, reviser_infirmations (+7) 521
tools/forge_swe_multivec.py Retrieval multi-vecteur Parent-Child pour code (SWE-bench) MultiVecIndex, index_repo, make_ollama_summarize, make_hub_summarize (+1) 317
tools/forge_test_coverage_matrix.py la matrice qui RATTRAPE : couche x classe d'entree calculer, main 161
tools/forge_tier_policy.py Provenance (origin) + politique de tiering RAG base_rag, hot_tier_clause, derive_origin, is_hot_tier 165
tools/forge_vec_coverage.py Point vectorisation : couverture embeddings du corpus CODE Nokido + backlog hot + modules du census (hier) à 0 chunk load_inventory, main 182
tools/forge_vector_structure.py ce que le 1024d apporte que le lexical ne voit pas jaccard, couverture, discrimination, charger (+1) 173
tools/forge_veille_completude.py Completude et indexation des depots de veille — un verdict PAR DEPOT ids_lexicaux, verdict, main 211
tools/forge_veille_inventaire.py Inventaire du PATRIMOINE de veille — une passe, deportee, sans jointure famille, depot, parcourir, colonnes (+1) 286
tools/forge_veille_moisson.py Moisson de la veille par AXE d'organe — extraits bruts, aucun jugement porteur, extrait_porteur, source_propre, embed (+6) 427
tools/forge_veille_triage_vectorisation.py Tri de la veille avant vectorisation — débloque le sous-ensemble de VALEUR selection, retag, main 175
tools/generation_backfill.py Backfill de la memoire des victoires + inventaire EXHAUSTIF des regressions git, build, main 94
tools/index_cve_rag.py Indexe CVEs dans RAG domain=cve_oracle main 86
tools/index_gitingest_rag.py Index gitingest .txt repos into RAG chunks load_indexed, mark_indexed, parse_gitingest_txt, should_index (+3) 213
tools/migrate_embedding_model_col.py Migration : ADD COLUMN embedding_model + tag existing chunks BGE-M3 main 44
tools/migrate_embeddings_dim.py Migration FAISS 384D→1024D (MiniLM→BGE-M3) Re-embedde les chunks 384D via brain_worker ZMQ :5557 migrate 82
tools/nokido_historical_consolidation.py Implémente la conception Historical Consolidation report 134
tools/rag_archive_gitingest.py Archive chunks domain='gitingest*' dans rag_chunks_cold_storage main 87
tools/rag_purge_polluted_veille.py Purge chunks watch_veille issus des 10 jobs cassés (keywords blabla LLM) main 110
tools/rag_status_report.py Rapport état RAG + gitingest + tâches pendantes — 77
tools/reembed_rag_bge.py Re-embedder tous les chunks RAG avec bge-m3 ================================================================= Remplace les embeddings inhomogenes (dim 2032-2080) par bge-m3 (dim 1024) embed_text, vec_to_blob, needs_reembed, main 152
tools/tem_query_demo.py Demo TEM composite search vs content-only main 61

unclassified

154 modules · 49,521 lines

Module Definition Public API LOC
app/_internal/_cmd_rag_patch.py CONTRAINTE: +0 docs — 33
app/_internal/_copy_mixins.py CONTRAINTE: header HD batch — 28
app/_internal/_launch_brain.py CONTRAINTE: header HD batch — 64
app/_internal/_purge_pyc.py CONTRAINTE: header HD batch — 36
app/_internal/_sandbox_at.py CONTRAINTE: +4 docs AtTestApp, run_test 140
app/_internal/_sandbox_at_real.py CONTRAINTE: header HD batch ATTestApp, run 268
app/_internal/_sandbox_nlu.py CONTRAINTE: +0 docs AgentType, classify 200
app/_internal/_sandbox_nokido.py CONTRAINTE: +14 docs check, test_ast, test_skilltree_import, test_render (+8) 194
app/_internal/_sandbox_test.py CONTRAINTE: +4 docs MiniApp, run_once 79
app/_internal/_test_terminal.py CONTRAINTE: header HD batch — 30
app/agents/architecture.py app/agents/architecture.py - Detection des architectures LLM (llama2/mistral/qwen/...) — 23
app/agents/benchmarking.py app/agents/benchmarking.py - Benchmarks et scoring des modeles — 24
app/agents/core.py app/agents/core.py - Data classes et helpers communs aux agents — 42
app/agents/ollama_runner.py app/agents/ollama_runner.py - Execution parallele de modeles Ollama — 18
app/agents/planning.py app/agents/planning.py - Planification et synthese des actions agents — 23
app/agents/roles.py app/agents/roles.py - Orchestration des roles et classification — 26
app/agents/routing.py app/agents/routing.py - Routage intelligent des prompts vers les agents — 28
app/collab_modes/_arbitration.py app.collab_modes._arbitration - Arbitration helpers pour collab_modes — 144
app/collab_modes/_core.py app.collab_modes._core - Core helpers pour collab_modes CollabSession 169
app/collab_modes/_participants.py app.collab_modes._participants - Ask helpers (participants LLM) pour collab_modes — 418
app/collab_modes/dispatch.py app/collab_modes/dispatch.py — Point d'entrée unique @collab ============================================================ Orchestre l'appel aux différents modes de collaboration run_collab 97
app/collab_modes/legacy.py app.collab_modes.legacy - Sync wrappers legacy ollama_ask_sync, gemini_ask_sync 51
app/collab_modes/mode_auto.py app/collab_modes/mode_auto.py — Mode AUTO (Orchestration silencieuse) ===================================================================== La Forge analyse la tâche, décide si elle la délègue à l'agent externe, valide le résultat run_mode_auto 66
app/collab_modes/mode_chef.py app/collab_modes/mode_chef.py — Mode CHEF (Hiérarchie & Chaos Check) ==================================================================== Le chef planifie, l'autre exécute step by step run_mode_chef 136
app/collab_modes/mode_cline.py app/collab_modes/mode_cline.py — Mode CLINE (Double-Blind Validation) ===================================================================== Validation Double-Blind PLAN / ACT run_mode_cline 107
app/collab_modes/mode_debat.py app/collab_modes/mode_debat.py — Mode DEBAT (Consensus Ledger) ============================================================== Thèse / Antithèse / Réfutation / Synthèse run_mode_debat 166
app/collab_modes/mode_panel.py Mode PANEL run_mode_panel 34
app/collab_modes/mode_ping.py app/collab_modes/mode_ping.py — Mode PING (Dialogue & Distillation) =================================================================== Ping-pong : chaque LLM enrichit l'autre en alternance CollabSession, detect_best_model, run_mode_ping_v2, run_mode_ping 232
app/core/di_container.py app/core/di_container.py - Dependency Injection Container pour Nokido DIContainer, get_container, set_container, reset_container 318
app/core/payload_validator.py app/core/payload_validator.py - Validation des payloads LLM/MCP PayloadValidator 68
app/core/settings/fields.py app/core/settings/fields.py - Definitions des champs settings par domaine get_fields_for_domain, list_domains 145
app/forge_hotpath_probe.py Sonde PASSIVE de latence du chemin chaud : elle mesure, elle ne regule RIEN HotPathProbe, sonde_active, main 218
app/forge_intent_risk.py risque semantique d'une intention d'outil, evalue AVANT le dispatch MCP evaluate_intent 108
app/forge_mcp_securite_reseau.py couche RESEAU de la securite MCP (restauree, corrigee) JournalSecurite, SecuriteReseau, create_token_envelope, detect_ssrf_beacon (+6) 312
app/forge_rag_usage_signal.py le journal d'USAGE du RAG, hors de la base RAG noter, marquer_cite, triplets, main 213
app/forge_tools_dynamic/tool_metier_dispatch.py forge_tool_dynamic: metier_dispatch Description: Route une tache vers la bonne persona metier (89) + assemble sa KB et son system_prompt metier_dispatch 25
app/hardware/allocator.py CONTRAINTE: header HD batch get_memory_state, detect_best_ep, compute_optimal_config, apply_config (+9) 401
app/hardware/mem_watchdog.py CONTRAINTE: header HD batch MemWatchdog, get_watchdog, mem_checkpoint 309
app/legacy/boitaswitch.py Agent de récupération de config pour équipements réseau SwitchResult, NetworkRecoveryAgent 358
app/legacy/codesandbox.py Sandbox de test et génération de code pour OctoDevOps ======================================================================= OctoDevOps v5 Intègre la logique de codetesteur.py dans l'architecture Nokido : - Génération de code via Ollama (modèle local) - Analy SandboxResult, analyze_ast, SafeRunner, AgentHistory (+5) 583
app/legacy/danger_guard.py Protection contre les commandes SSH dangereuses ================================================================= OctoDevOps v5 Ce module intercepte les commandes avant exécution et : 1 DangerLevel, DangerCheck, DangerGuard, danger_confirmation_message (+2) 418
app/legacy/loops.py Amélioration autonome fusionnée v3 ============================================= Fork OctoDevOps v5 FUSION des deux versions : ✅ De TON code : on_restart optionnel (appelé après chaque patch réussi) ✅ De TON code : AuditParser (count_errors sur texte d'audit L validate_python_syntax, pylint_score, count_real_errors, score_code_quality (+9) 1338
app/legacy/nokido_testable.py Shim d'import robuste pour les tests Nokido =================================================================== Extrait les classes métier de Nokido.py en se basant sur des MARQUEURS TEXTUELS — jamais sur des numéros de lignes — 266
app/legacy/onnx_backend.py Backend d'inférence ONNX pour OctoDevOps =========================================================== Deux rôles distincts : 1 OnnxEmbedder, OnnxGenerator, init_onnx_backend, get_embedder (+6) 489
app/legacy/predictif.py Moteur NLU adaptatif pour OctoDevOps ===================================================== OctoDevOps v5 Principe : Le NLU statique (regex) classe correctement ~80 % des entrées IntentVote, FeatureExtractor, NaiveBayesRouter, CorrectionEntry (+5) 628
app/legacy/roles.py Rôles IA DevOps complets v2 ======================================= Fork OctoDevOps v5 Rôles d'amélioration de code (loops.py) : ANALYSTE AgentRole, IntentRouter, ModelBenchmark, ModelBenchmarker (+2) 1507
app/legacy/routage.py Moteur de routage et d'orchestration multi-agents pour OctoDevOps =============================================================================== OctoDevOps v5 Ce module remplace modeplanner.py et l'ancienne logique de routage PromptCategory, AgentContrib, OllamaParallelRunner, PromptClassifier (+6) 1090
app/legacy/scoring.py Banque de scoring des modèles + détection d'architecture cible ============================================================================= OctoDevOps v5 Ce module est l'unique source de vérité pour : OSFamily, Distrib, CPUArch, ContainerRuntime (+5) 760
app/legacy/web.py Recherche web pour OctoDevOps ======================================= - DDGS singleton avec session persistante (une seule connexion) - Pas d'OpenAI, pas de FAISS WebSearchEngine, get_web_engine, web_search 228
app/services/intent_router.py forge_intent_router.py - Nokido v18.5 Intent-Based Routing Circuit-court semantique : intention connue + approuvee -> bypass LLM IntentRouter, get_intent_router, register_in_container 437
app/tests/test_contract_net.py Step 3 switchboard — Contract-Net : élection déterministe de worker test_local_wins_election, test_dead_end_excluded, test_edge_bids_included, test_no_candidates_no_winner (+1) 78
app/tests/test_dialogue_outcome.py PR-2 AXE 8 — évaluateur d'issue de dialogue (succès/échec) + câblage récompense test_user_correction_is_failure, test_user_approval_is_success, test_no_reaction_good_response_is_success, test_no_reaction_refusal_response_is_failure (+6) 106
app/tests/test_integrity_tpm.py AXE 8 PR-6 (suite) — CapabilityToken HMAC→TPM (racine matérielle additive) test_hmac_backward_compat, test_tpm_sign_fallback_when_unavailable, test_tpm_sign_adds_segment_and_verifies, test_require_tpm_rejects_hmac_only (+1) 70
app/tests/test_persona_engine_nokido.py PR-1 AXE 8 — persona canonique « nokido » + build_system_prompt étendu test_nokido_persona_loads, test_build_contains_voice_and_marker_without_rescue, test_persona_inconnue_sans_instruction_de_secours, test_identity_anchor_gated_by_turn (+11) 146
app/tests/test_persona_tpm.py PR-6 AXE 8 — racine de confiance matérielle (TPM) de la persona test_tpm_available_is_bool, test_ensure_key_never_crashes, test_sign_identity_tagged, test_hmac_fallback_deterministic (+2) 72
app/tests/test_proxy_persona.py PR-4 AXE 8 — injection persona INBYPASSABLE dans forge_agent_proxy test_provider_ask_gets_persona, test_provider_persona_idempotent, test_provider_persona_disabled 51
app/tests/test_router_persona_inject.py PR-3 AXE 8 — injection persona unifiée dans forge_llm_router.call_cascade test_call_cascade_injects_persona, test_call_cascade_persona_idempotent, test_call_cascade_inject_disabled 95
app/tests/test_routing_switchboard.py PR-A + PR-B routing switchboard : semantic route-table (bge-m3) + façade capacités test_route_code, test_route_vision, test_route_reasoning, test_route_empty_is_general (+16) 260
app/tui_adapters/commands_adapter.py slash commands hérités v13.6, raccordés au code moderne cmd_run, cmd_rag, cmd_mem, cmd_agentic (+17) 411
app/tui_adapters/events_adapter.py Adapter Events fetch_events, event_stats 37
app/tui_adapters/forge_adapter.py Adapter Forge top_curated_skills, ami_traces_summary, goap_state, night_trainer_state 94
app/tui_adapters/health_adapter.py Adapter Health load_report 31
app/tui_adapters/pty_adapter.py Adapter PTY — gère 1 PTYSession active pour la vue MASTER de la TUI v3 is_open, session_info, open_async, inject_async (+3) 127
app/tui_adapters/rbac_adapter.py Adapter RBAC list_mappings_safe 20
app/tui_adapters/services_adapter.py Adapter Services — supervisor :8765 list_services, wake, sleep_svc, restart (+1) 73
app/tui_adapters/tasks_adapter.py Adapter Tasks recent_tasks, task_counts 54
app/ui/commands_via_facade.py app/ui/commands_via_facade.py - Commandes TUI qui utilisent EXCLUSIVEMENT la facade cmd_ask_llm, cmd_ask_llm_sync, cmd_status, cmd_status_sync (+4) 172
app/ui/facade_accessor.py app/ui/facade_accessor.py - Point d acces UI vers NokidoFacade get_ui_facade, get_ui_facade_sync, attach_facade_to_app, FacadeMixin (+2) 121
app/web_hub/app.py /web_hub/app.py - Hub FastAPI Nokido AuthMiddleware, redirect_graph_slash, health, favicon (+58) 2297
app/web_hub/auth.py app/web_hub/auth.py - Auth JWT pour le hub Nokido AuthConfig, issue_token, verify_token, admin_token_ok (+4) 528
app/web_hub/config.py app/web_hub/config.py - Configuration persistante du hub Nokido ConfigField, schema, load, patch (+1) 316
app/web_hub/csp.py app/web_hub/csp.py - Centralisation de la Content-Security-Policy build_csp 158
app/web_hub/dashboard_diag_htmx.py app/web_hub/dashboard_diag_htmx.py — Daemon health dashboard HTMX render_diag_page, route_diag_partial, route_diag_page 119
app/web_hub/dashboard_html.py app/web_hub/dashboard_html.py probe_service, tile_state, href_de, slugs_montes (+3) 343
app/web_hub/envfile.py app/web_hub/envfile.py - Loader .env minimal, zero dependance load_env_file 105
app/web_hub/epistemic.py Step 6 epistemic: dashboard route Vega-Lite SchemaAbsent, BaseIllisible, main 528
app/web_hub/htmx_helpers.py web_hub/htmx_helpers.py — HTMX + Alpine.js helpers Generative UI Phase A nonce, htmx_head, htmx_layout, htmx_partial (+5) 202
app/web_hub/hub_shell_html.py Coquille « Hub Nokido PC » (portail unifie :7400) render_hub_shell 192
app/web_hub/jti_cache.py app/web_hub/jti_cache.py - Cache de revocation JWT (jti + exp) JtiRevocationCache, revoke_jti, is_jti_revoked, revoke_many (+3) 351
app/web_hub/launcher.py app/web_hub/launcher.py - Supervisor des modules Nokido ModuleSpec, status, list_all, start (+3) 647
app/web_hub/launcher_html.py app/web_hub/launcher_html.py - Page de pilotage des modules render_launcher 372
app/web_hub/login_html.py app/web_hub/login_html.py - Rendu HTML page de login (CSP-strict) render_login 106
app/web_hub/manifest_cards.py app/web_hub/manifest_cards.py — rendu DETERMINISTE du manifest UI en cartes render_organs, render_organs_page 165
app/web_hub/mcp_inspector.py app/web_hub/mcp_inspector.py - MCP Inspector intégré au web_hub — 171
app/web_hub/mcp_lab.py app/web_hub/mcp_lab.py - Lab MCP integre au hub web Nokido InvokeRequest, InvokeResponse, mcp_lab_page, health (+3) 445
app/web_hub/provider_views.py Poste de saisie des cles fournisseurs — portail :7400, AUTHENTIFIE sujet_owner, api_catalogue, api_poser_cle, api_retirer_cle (+6) 468
app/web_hub/proxy.py app/web_hub/proxy.py - Proxy ASGI httpx pour mounting des services backend ReverseProxy 567
app/web_hub/rbac_views.py RBAC mapping views — agent↔OS account editor pour web_hub :7400 api_list_entities, api_get_entity, api_set_entity, api_create_entity (+2) 352
app/web_hub/redaction_middleware.py rédige les réponses d'ERREUR du webhub avant qu'elles sortent RedactionMiddleware 187
app/web_hub/services_views.py Services A LA DEMANDE : les lancer est un geste VOULU, jamais un effet de bord api_ondemand, api_start, api_stop 139
app/web_hub/ui_generate.py web_hub/ui_generate.py — Generative UI Phase C : LLM-generated HTMX components generate_openui_render, routes_connues, neutraliser_cibles_inconnues, table_repli (+5) 816
app/web_hub/watcher.py app/web_hub/watcher.py - Auto-restart watcher pour les modules Nokido ModuleState, Watcher 387
app/web_hub/wired_routes.py cable les routes GUI MORTES vers les vrais backends hub rag_stats, rag_tokenize, rag_search, graph_proprio (+19) 841
forge_desktop/core/canvas_nodes.py forge_desktop/core/canvas_nodes.py ==================================== CANVA_MASTER_ORCHESTRATOR CanvasNodeRunner, get_runner 271
forge_desktop/core/desktop_bridge.py forge_desktop/core/desktop_bridge.py ===================================== Pont entre l'UI PySide6 et les services Nokido MMapPollerWorker, HubPollerWorker, EventsDBWorker, WindowsServicesWorker (+2) 411
forge_desktop/core/gui_mmap.py forge_desktop/core/gui_mmap.py ================================ Interface MMap ultra-rapide pour Forge-Sync OS GuiMMap 158
forge_desktop/core/llm_interactions.py forge_desktop/core/llm_interactions.py ======================================== Orchestration des interactions LLM/agents — câblage GUI ↔ SwarmTeam — 330
forge_desktop/core/mcp_connector.py forge_desktop/core/mcp_connector.py ===================================== Client MCP agile pour OneMCP — connecteur "Souverain" LaForgeMCPBridge, get_bridge, local_bridge, hub_bridge 301
forge_desktop/core/palette_hub_connector.py forge_desktop/core/palette_hub_connector.py ============================================= COMMAND_HUB_BRIDGE_V17 PaletteHubConnector 299
forge_desktop/main.py forge_desktop/main.py — Forge-Sync OS Entry point main 100
forge_desktop/views/cerberus_view.py forge_desktop/views/cerberus_view.py — Dashboard Cerberus intégré ================================================================== Visualisation vault génomique + runs actifs + métriques évolutives CerberusView 328
forge_desktop/views/consciousness_view.py forge_desktop/views/consciousness_view.py ========================================== Vue "Conscience Émanente" — Forge-Sync OS Affiche en temps réel : 1 AgentThinkingCard, ResonancePanel, ADRPanel, ADRCreateDialog (+1) 515
forge_desktop/views/dashboard_view.py forge_desktop/views/dashboard_view.py LLMCard, BrainRailWidget, TruthTerminalWidget, DashboardView 218
forge_desktop/views/debate_view.py forge_desktop/views/debate_view.py MiniRingMeter, EntropyBar, AgentPanel, SynthesisPanel (+1) 671
forge_desktop/views/debug_loop_view.py forge_desktop/views/debug_loop_view.py ======================================== AUTONOMOUS_DEBUG_LOOP_V1 DebugLoopView 462
forge_desktop/views/external_forge_view.py forge_desktop/views/external_forge_view.py — Forge appliquée à des projets externes ==================================================================================== Applique l'intelligence Nokido (Cerberus, LibraryShifter, SourceDiscovery, TokenOptimizer, ExternalForgeView 1016
forge_desktop/views/forge_os_canvas.py forge_desktop/views/forge_os_canvas.py USER_FRIENDLY_FORGE_OS -- Action_Over_Chat Canvas interactif : Omnibar -> Nodes -> Execution Glassmorphism_Deep_Dark | Cellular_OneMCP_Atomic double_click=Inspect | right_click=Swap_LLM | drag=Chain ForgeNode, ForgeEdge, FlowCanvas, ForgeOSCanvas 744
forge_desktop/views/graph_canvas_view.py forge_desktop/views/graph_canvas_view.py AUTONOMOUS_ORCHESTRATOR_V17 — GraphCanvas_Interactive Visualise le DAG en temps reel GraphCanvasView 417
forge_desktop/views/interaction_view.py forge_desktop/views/interaction_view.py ======================================== Vue Interactions multi-agents — arbre de sélection guidé InteractionWorker, InteractionView 597
forge_desktop/views/main_window.py forge_desktop/views/main_window.py MainWindow 565
forge_desktop/views/mermaid_view.py forge_desktop/views/mermaid_view.py ===================================== Vue Mermaid — Génération de diagrammes via Qwen2.5-Coder (llamacpp) MermaidHighlighter, MermaidGenWorker, PanoramaWorker, MermaidView 482
forge_desktop/views/node_status_view.py forge_desktop/views/node_status_view.py ======================================== WORKFLOW_NODE_INTEGRATION — UI override Remove_Chat_Bubbles_Enable_Node_Status Pipeline view : trigger → ADR_CHECK → RUNNING → DONE/FAILED/BLOCKED Status par node NodeCard, TurnRow, NodeStatusView 428
forge_desktop/views/pipeline_engine_view.py forge_desktop/views/pipeline_engine_view.py ============================================ PIPELINE_ENGINE_V17 TaskEntry, PipelineEngineView 649
forge_desktop/views/rag_view.py forge_desktop/views/rag_view.py — Onglet RAG avec entropie et ingestion manuelle ================================================================================== Deux RAG : 1 RAGSearchWorker, DropZone, EntropyWidget, RAGPanel (+2) 766
forge_desktop/views/services_view.py forge_desktop/views/services_view.py ServiceCard, ProcessTable, ServicesView 392
forge_desktop/views/timemachine_view.py forge_desktop/views/timemachine_view.py GitLogWorker, TimeMachineView 230
forge_desktop/views/triad_view.py forge_desktop/views/triad_view.py LAFORGE_MULTI_AGENT_SYNTAX_V1 TriadView 210
forge_desktop/watchdog.py forge_desktop/watchdog.py ========================== Watchdog Forge-Sync OS — Process Python INDÉPENDANT Watchdog, main 323
forge_desktop/widgets/command_palette.py forge_desktop/widgets/command_palette.py ========================================= Smart Omnibar CommandPalette 509
forge_desktop/widgets/debate_timeline.py forge_desktop/widgets/debate_timeline.py ========================================= DebateTimeline — v17.04-RT Affiche les tours du débat en cascade séquentielle DebateTimeline 281
forge_desktop/widgets/flux_console.py forge_desktop/widgets/flux_console.py ======================================= FLUX_VISIBILITY_V2_EXPERT Console de sortie experte : agent_tier, sort_agents, detect_artifacts, FluxConsole 562
forge_desktop/widgets/forge_command_palette.py forge_desktop/widgets/forge_command_palette.py =============================================== WIDGET_COMMAND_PALETTE_V1 class : ForgeCommandPalette(QWidget) key : Ctrl+K ipc : MMap_500ms bridge: localhost:8766 + win32cred_check ForgeCommandPalette 575
forge_desktop/widgets/node_graph.py forge_desktop/widgets/node_graph.py ===================================== Graphe nodal des agents — QGraphicsScene — 331
forge_desktop/widgets/ring_group_widget.py forge_desktop/widgets/ring_group_widget.py ========================================== RingGroupWidget — v17.04-RT 3 groupes : Governance | Intelligence | Infra Polling MMap 500ms RingGroupWidget 297
forge_desktop/widgets/ring_meter_v2.py forge_desktop/widgets/ring_meter_v2.py ======================================= TUI_TO_GUI_DYNAMIC_BRIDGE — Grouped_Ring_Meter_V2 60fps token display + system health groupé RingMeterV2 384
forge_desktop/widgets/ring_o_meter.py forge_desktop/widgets/ring_o_meter.py ======================================= Ring-O-Meter — Visualisation circulaire des rings Nokido RingDial, RingStatusPanel, RingOMeterWidget 426
forge_desktop/widgets/security_shield.py forge_desktop/widgets/security_shield.py ========================================= SecurityShield — v17.04-RT Affiche le statut de chaque clé API depuis win32cred SecurityShield 160
tools/bench/forge_dataset_loader.py CONTRAINTE: header HD batch fetch_url, download_tech_docs, download_code_pairs, download_sysadmin_docs (+1) 363
tools/bench/forge_domain_adapter.py Beta Industrialisé : CE auto-adaptation par domaine ============================================================================== Gemini : "Industrialiser le Beta — détecter automatiquement un changement de domaine sémantique et relancer le fine-tuning CE (8 tok, corpus_fingerprint, finetune_ce_background, DomainAdapter 293
tools/bench/forge_graph_bench.py Benchmark de raisonnement sur graphes pour Nokido ========================================================================== Implémente les 3 benchmarks Gemini faisables: 1 FCGAnalyzer, GraphToPrompt, AttackPathFinder, run_fcg_benchmark (+3) 436
tools/bench/forge_longmemeval.py Nokido × LongMemEval Benchmark ======================================================= Benchmarke le système RAG de Nokido sur LongMemEval LongMemIndex, recall_at_k, ndcg_at_k, mrr (+4) 499
tools/bench/forge_longmemeval_bge.py Nokido × LongMemEval : Dense bge-m3 + Hybride ========================================================================= Benchmark haute performance avec vecteurs denses pré-calculés (bge-m3) embed, CorpusCache, tokenize, rrf (+6) 499
tools/bench/forge_longmemeval_enhanced.py Nokido × LongMemEval Enhanced ============================================================== Système RAG hybride haute performance pour LongMemEval tokenize, parse_date, rrf_score, chunk_sessions (+10) 702
tools/bench/forge_ogb_arxiv_bench.py Benchmark OGB-Arxiv pour Nokido ============================================================= Évalue la capacité de Nokido à raisonner sur des graphes de citations scientifiques (169K nœuds, 1.2M arêtes, 40 classes) load_arxiv_pyg, GraphSAGE, train_graphsage, g2p_few_shot_eval (+2) 331
tools/bench/forge_snn_bench.py Benchmark Neuro-Spin / SNN sur graphes de type malware ============================================================================= Implémente le concept Neuro-Spin de Gemini: SpikeFunction, SpikingLayer, NeuroSpinGNN, run_snn_benchmark (+1) 284
tools/forge_autophagie_attic.py resorption des modules qui ne servent plus declared_nature, imported_modules, plan, apply (+1) 170
tools/forge_changelog.py le CHANGELOG du depot : une section par push, tiree des messages de commit git, rubrique, est_commit_de_changelog, commits (+5) 223
tools/forge_composants.py pose sur CETTE machine les composants natifs EPINGLES (distribution/packs/local-llm.toml) plateforme, composant, telecharger, sh (+12) 305
tools/forge_docstring_masquee.py rend a Python les docstrings de module masquees par un from __future__ place AVANT elles diagnostiquer, demasquer, modules, masquees (+2) 260
tools/forge_install_acceptance.py Acceptation de l'installation COMPLETE sur une machine vierge (runner GitHub windows-latest / ubuntu-latest) plateforme, etape, sh, composants (+17) 1075
tools/forge_logboot.py amorceur de JOURNAL SANS PIPE pour les services Python du superviseur horodatage, tailler, Relais, installer (+2) 206
tools/forge_readme_pip.py Le bloc pip install du README annonce ce que PyPI SERT -- ni plus, ni moins version_servie, rendre, bloc, lire (+5) 257
tools/forge_stats_publiques.py Statistique publique de la vitrine : une petite carte SVG en bas du README de Nokido-labs/nokido collecter, fusionner, resume, rendre_svg (+1) 185
tools/forge_wiki_github.py Construit le wiki GitHub du depot public depuis docs/wiki du DIST (deja filtre et scanne par le promoteur) retirer_yaml, reecrire_liens, titre_de, barre_laterale (+3) 174
tools/hook_stop_attente_passive.py Hook Stop : un tour ne se termine pas sur une ATTENTE PASSIVE decider, dernier_message, main 105
tools/intel/forge_git_worker.py CONTRAINTE: header HD batch GitWorker 154
tools/intel/forge_github_intel.py Nokido Engrid · Intelligence GitHub ============================================================= fetch_github_intelligence() : extrait l'intelligence publique de GitHub (issues, PRs, discussions, wiki) pour nourrir les shards OSS/Alignement de ForgeEngridEngi fetch_github_intelligence 251
tools/nomad/bios_wol_probe.py Sonde BIOS/UEFI en LECTURE SEULE, pour le diagnostic Wake-on-LAN is_elevated, enable_privilege, read_uefi_var, smbios_wakeup (+1) 286
tools/research/forge_gnn.py Nokido GNN v3 — Bistable / Neuro-Spin Architecture ==================================================================== v3 : BistableGateLayer inspiré des Magnetic Tunnel Junctions (MTJ) Dynamique bistable : - Double-puit de potentiel : U(m) = -m² + m⁴ (deux é BistableGate, bistable_gate, ForgeGNNLayer, VulnGNN (+3) 423
tools/research/forge_graph_engine.py Nokido Graph Engine v1 ================================================ Convertit les artefacts Nokido en graphes exploitables par le GNN code_to_graph, file_to_graph, network_to_graph, rag_to_graph (+1) 367
tools/research/forge_inhibition_bus.py Nokido Engrid v3 · Sprint 2 ======================================================== InhibitionBus : signalisation latérale entre silos VetoSignal, CoopSignal, InhibitionBus 364
tools/research/forge_native_bridge.py Nokido · Zero-Subprocess Docker + Binary Bridge ========================================================================== Remplace subprocess(['docker', 'exec', ...]) par docker-py SDK direct DockerBridge, BinaryBridge, CTFNativeBridge, get_docker 345
tools/research/forge_onnx_genai.py CONTRAINTE: header HD batch get_model, is_available, onnxgenai_call, onnxgenai_stream (+2) 384
tools/research/forge_spike_router_lite.py SpikeRouter runtime sans PyTorch ============================================================== Utilise uniquement numpy pour l'inférence SpikeRouterLite, extract_features_light, get_router, route 257

Immunitaire (firewall/garde)

152 modules · 45,665 lines

Module Definition Public API LOC
app/forge_access_switches.py Switches virtuels intelligents (RBAC→ReBAC dynamique) PRINCIPE AUTOPOÏÉTIQUE : Les droits ne sont pas gravés dans le code (gène fixe) mais dans une DB évolutive (épigénétique) EvalContext, SafeEval, check_access, create_switch (+2) 391
app/forge_auth_jwt.py JWT HS256 minimaliste stdlib pour bearer tokens Nokido issue_token, verify_token, parse_bearer_header 269
app/forge_auth_tokens.py Emitter and verifier for short-lived CapabilityTokens login_agent, renouveler, traiter_renouvellement, ring_sans_maitre 444
app/forge_authz_http.py ADAPTATEUR UNIQUE : requete HTTP -> decision d'autorisation attribuee jti_revoque_persiste, session_ui, origine_locale, autoriser_mutation_ui 126
app/forge_authz_shadow.py Observation d'autorisation sur :8766 -- SHADOW, ne refuse RIEN actif, exposition_de, authentification_de, classer_route (+9) 818
app/forge_bind_guard.py l'ecoute reelle est-elle bornee au loopback ? Le hub verifie deja HUB_HOST avant de servir et retombe sur 127.0.0.1 si la valeur n'est pas loopback (garde Phase 18) inspecter, verdict, controler 139
app/forge_cert_binding.py lier l'identite de TRANSPORT a l'identite APPLICATIVE thumbprint, inspecter, verifier 229
app/forge_conv_sanitizer.py Filtre et redacte les messages et le contexte RAG destines aux agents et LLM cloud sign_message, verify_message, sanitize_for_agent, get_internal_logs (+6) 626
app/forge_corrigibility.py FORGE_COLOR : gouvernance / immunitaire (organe) ORGANE : CORRIGIBILITÉ — « l'humain garde la main, même sur un agent plus capable » current_asl, set_asl, corrigibility_gate, status 233
app/forge_darwinian_arena.py Quarantaine Ring 4 et Arène Évolutive Nokido ArenaCandidate, submit_candidate, get_candidate, run_synthetic_test (+3) 505
app/forge_delivery_integrity.py FORGE_COLOR : metacognition / immunitaire (organe, READ-ONLY) ORGANE : INTEGRITE DE LIVRAISON — « ce qui est DECLARE fait l'est-il REELLEMENT ? » ack, scan, history 695
app/forge_dpop.py Preuve de possession applicative (DPoP, RFC 9449) b64u, b64u_decode, thumbprint, cle_locale (+10) 536
app/forge_encrypt.py Nokido Encryption Layer v1.0 ================================================= OPTION A (production) : Fernet AES-256-CBC sur champs texte sensibles - shared_prompt_log.content quand is_private=1 - rag_chunks.text quand domain='private' ou domain='confidential get_fernet, generate_new_key, encrypt_text, decrypt_text (+8) 485
app/forge_extism_plugin.py safe WASM plugin execution via Extism run_plugin, main 90
app/forge_gate_consumer.py FORGE_COLOR = immunitaire/guard qui consomme le journal d'intentions (gate SSoT) GATE-CONSUME-LOG — le validateur CONSOMME le journal d'intentions (raffinement GLM 2026-06-18) consume, serve, main 166
app/forge_git_egress.py ============================================== GATE EGRESS GIT SOUVERAIN (cerveau, v1) identites_privees, reconstruct, load_manifest, resolve_profile (+4) 543
app/forge_guarded_change.py gate anti-régression des mutations autonomes GuardResult, hub_alive, guarded_change 218
app/forge_guardrails_colang.py Couche déclarative Colang-style ADVISORY (shadow-only) parse_guardrails_co, check_guardrails, shadow_compare 135
app/forge_immune_adaptive.py Immunité adaptative biomimétique (anticorps appris) learn_from_audit, check_request, stats, run_cycle (+1) 271
app/forge_integrity.py CONTRAINTE: Args/Returns/Raises IntegrityRing, is_at_least, attenuer_ou_refuser, CapabilityToken (+7) 1278
app/forge_key_rotation.py FORGE_COLOR : immunitaire / métabolisme (clés providers) forge_key_rotation — POOL multi-clés par provider + SANTÉ + rotation/skip automatique etat_du_ledger, resolve, quarantine_info, healthy_key (+4) 450
app/forge_key_validator.py Validation format + liveness + tier des cles API Nokido Auteur: CLAUDE | Session: 2026-04-26 check_format, check_live, validate_one, validate_all 150
app/forge_mcp_rbac.py RBAC mapping outils MCP → ring minimal (Phase 35) check_tool_capability, tool_required_ring, list_tools_by_ring 226
app/forge_metric_integrity.py FORGE_COLOR : metacognition / immunitaire (organe, READ-ONLY) ORGANE : INTEGRITE DES METRIQUES — « mes scores internes mentent-ils sous la pression ? » scan, history 169
app/forge_noise_guardian.py Noise Guardian v1.0 =================================================== Garde-fou sémantique : vérifie et protège chaque fragment avant envoi à un modèle Cloud GuardianResult, NoiseGuardian, get_guardian, guard_fragment (+1) 358
app/forge_noise_inject.py Semantic Noise Injector v1.0 ========================================================= Injecte du bruit sémantique dans un snippet avant envoi à un LLM cloud inject_noise, strip_noise, noise_stats 240
app/forge_opsec.py Rules of Engagement (OPSEC Levels) Bouclier OPSEC dynamique 3 niveaux : - PARANOID (default) : membrane HMAC full + NoiseGuardian + SecretGuard - STANDARD : SecretGuard only (passwords/tokens), garde IPs/paths lisibles - CTF : bypass complet — flags/hashes/cre OpsecLevel, get_opsec_level, human_lock_state, network_kill_state (+11) 781
app/forge_pair_local.py Qui, sur cette machine, est au bout d'une connexion loopback -- et a-t-il le droit ? FORGE_COLOR = "immunitaire/isolation-locale" POURQUOI politique_par_defaut, portee, identifier, verdict 227
app/forge_parity_gate.py ================================================ Gate DÉTERMINISTE générique : un registre de SIGNAUX (fonctions pures) émettant chacun un Finding gradé (RED / YELLOW / UNKNOWN) à partir de features STRUCTURELLES/mesurables, puis une agrégation CONSERVATRICE : Severity, Finding, red, yellow (+10) 234
app/forge_payload_cache.py Payloads JWT pré-forgés en mémoire ============================================================ Principe : pré-assembler les trames fréquentes au boot du hub get, init, stats 144
app/forge_persona_tpm.py AXE 8 PR-6 : racine de confiance MATÉRIELLE de la persona tpm_available, ensure_persona_key, classer_code_ncrypt, etat_cle_tpm (+13) 758
app/forge_policy_rego.py Évaluateur Rego/OPA ADVISORY (shadow-only) evaluate, shadow_compare 186
app/forge_process_identity.py signature d'appartenance au hub pour chaque process get_hub_run_id, stamp_env, record, identify_process 106
app/forge_prompt_guard.py CONTRAINTE: header HD batch InjectionResult, ConflictReport, detect_injection, check_conflict (+7) 716
app/forge_ps_sandbox.py PowerShell Sandbox 3 niveaux pour Nokido ================================================================ Niveau 1 : Pre-Flight AST (liste noire sémantique) Niveau 2 : Constrained Language Mode (CLM natif PowerShell) Niveau 3 : JEA endpoint local (optionnel, c mode_valide, SandboxResult, PowerShellSandbox, ps_sandbox_factory 401
app/forge_rbac.py Nokido v18.5 RBAC Middleware v2 Anti-Piege 4 parades contre le piege semantique de la Sentinelle: 1 is_breakglass, EntityNotFound, CapabilityDenied, RBACMiddleware (+2) 389
app/forge_rbac_mapping.py Jonction agent↔OS pour Nokido RBAC ============================================================ Surface la couche manquante de la roadmap-multi-cli-sandbox-rbac : chaque entity (forge_entities.entity_id) est associée à un compte OS d'exécution + groupe + OSAccount, get_mapping, list_mappings, set_mapping (+3) 444
app/forge_ring_admin.py GUI réattribution ring LIVE (#10) load, set_ring, render_page 108
app/forge_robots.py Robots Exclusion Protocol (RFC 9309) pour les crawls Nokido decision, autorise, delai_courtoisie, purger_cache 193
app/forge_sandbox_exec.py execute a command as a low-privilege sandbox user chemin_tmp_sandbox, SandboxError, purge_creds_cache, sandbox_ready (+9) 1402
app/forge_sandbox_guard.py Nokido v18.5 =========================================== Règles d'économie tokens pour exécution sandbox/externe prevalidate_code, summarize_output, run_analysis_pipeline, AgentQuota (+1) 379
app/forge_secret_guard.py Garde-fou centralise contre l'exfiltration de secrets ============================================================================== Cree le 2026-04-25 suite a l'audit qui a revele : - 18 acces a Nokido.env via MCP read/python depuis le 2026-03-24 - Pas de blo SecretGuardViolation, is_protected_path, is_breakglass_active, is_dev_mode (+8) 681
app/forge_secrets.py Nokido v18.5 ====================================== Source de vérité unique pour tous les secrets CleIntegriteIndisponible, cle_integrite_hmac, journaliser_lecture_directe, etat_journal_reserves (+11) 1161
app/forge_semantic_firewall.py CONTRAINTE: header HD batch — statut initial API ajoutee depuis le 2026-09-22 (premiere ligne de la docstring de chaque symbole) : - redact_donnees_personnelles — Masque les donnees personnelles (telephone, IBAN, carte Luhn, NIR, email, civilite+nom, adresse PreFlightResult, PostFlightResult, redact_tool_output, redact_text (+8) 1048
app/forge_semantic_invariant.py la forme est intacte, la politique est inversee VerdictSemantique, comparer, garde_invariant_semantique 207
app/forge_separation.py Invariant separation_of_powers enforcement normalize_agent, enforce_separation 174
app/forge_share_policy.py « ai-je le droit de donner CETTE information a CE cerveau ? » Chainon manquant du swarm, mesure 2026-09-02 : forge_swarm_router.route_subtask valide QUI parle (forge_videur.authorize) puis appelle router_call, qui choisit un fournisseur -- sans que perso SwarmRequestContext, contexte_legacy, mode, preflight (+5) 370
app/forge_silo_fragmenter.py Siloed Fragmentation Engine + Noise Guardian v1.0 ================================================================================== Pipeline de souveraineté numérique : Rapport brut (complet, sensible) │ ┌─────────▼──────────┐ │ NOISE GUARDIAN │ IPs → GENERIC NoiseGuardian, Fragment, FragmentedReport, FragmentationEngine (+1) 639
app/forge_souverainete_reelle.py Souverainete MESUREE : quelle part du travail a ete faite en local, reellement parts, toutes_fenetres 224
app/forge_sovereign_membrane.py Nokido Engrid v3 ================================================ La Membrane Souveraine : couche bidirectionnelle entre le monde interne (Ryzen — données réelles) et le monde externe (Cloud — données anonymisées) TraversalRecord, MembraneResult, SovereignMembrane 810
app/forge_swarm_telemetry_guard.py S5 sur la télémétrie multicast (essaim réseau) sign_vector, verify_vector, egress_ok, pack_meta (+3) 141
app/forge_tool_annotations.py Annotations de comportement des tools MCP (spec 2026-07-28, champ annotations) raison, annotation_de, annoter, couverture (+3) 378
app/forge_trust_score.py Score de confiance 0-100 par provider LLM ================================================================= Session 5 — 2026-04-27 Formula : score = 0.5ttft_norm + 0.3uptime + 0.2cost_norm - ttft_norm : 0ms=100, 10000ms=0 (EMA lissé) - uptime : 100 - 100(f ProviderStats, TrustScoreRegistry, init_costs 153
app/forge_typed_boundary.py Beartype enforced boundaries Nokido build_llm_api_payload, validate_rag_chunk, assert_agent_context, validate_hub_command (+1) 132
app/forge_videur.py VIDEUR : couche identité × access-control (organe immunitaire) cli_agents, mailbox_de, canonical, peut_consommer_boite (+7) 915
app/forge_workspace_guard.py Nokido v18.5 ========================================== Contrôle d'accès au répertoire de travail pour les agents externes resolve_agent_ring, WorkspaceGuard, build_run_guard_header, run_guard_header_for (+1) 402
app/shredder.py CONTRAINTE: header HD batch build_import_catalog, collect_names_used, resolve_imports, find_nodes (+5) 414
tools/_fix_governed_edit.py ouvre governed_edit au client ring 3 (le dernier pont gouverné avant la castration #4) — 78
tools/_grant_deep_explore.py grant forge_deep_explore dans forge_tools (source de vérité RBAC exec, lue live par dispatch) — 36
tools/_grant_deep_explore_allowlist.py ajoute forge_deep_explore à _ALLOWED_TOOLS de hub_middleware.py (allowlist STATIQUE /mcp ; sans ça : tool registré+RBAC mais 400 'not allowed' à l'exécution — gotcha documenté L142-144) — 40
tools/_grant_ensure_service.py gates 3 & 4 pour nokido_ensure_service : forge_tools DB (RBAC exec, min_ring=4, lu live) + hub_middleware._ALLOWED_TOOLS (allowlist statique /mcp, reload requis) — 61
tools/bash_guard.py PreToolUse hook — verrouille Bash/PowerShell segment_ok, split_segments 325
tools/forge_alignment_invariants.py P0 du homeostat axiologique (Purpose Framework) by_id, verify_enforcement, status, check_critical_capability (+2) 208
tools/forge_at_rest_efs.py Chiffrement at-rest du dossier RAG/ via Windows EFS cmd_status, cmd_enable, cmd_disable, cmd_verify (+1) 214
tools/forge_at_rest_veracrypt.py At-rest #1 via conteneur chiffré, CROSS-OS verdict_cle_entete, cmd_verifier_cle, cmd_rekey, cmd_rekey_restaurer (+15) 1159
tools/forge_authz_matrice.py Matrice d'autorisation candidate : croise le STATIQUE, la SONDE et le RUNTIME capability_preuve, construire, main 268
tools/forge_authz_url_dynamiques.py Cherche les appels au hub dont l'URL est CONSTRUITE a l'execution balayer, main 151
tools/forge_code_identity.py identité du CODE RÉELLEMENT CHARGÉ par un process vivant snapshot, fields, drifted 73
tools/forge_coffre_rotation.py ROTATION des secrets exposes du coffre (etape 3, go owner 2026-09-28) main 128
tools/forge_compte_capabilites.py ce que CHAQUE compte d'execution peut reellement faire mesurer, rapport, main 277
tools/forge_conv_dlp_audit.py Le corpus conversationnel contient-il des secrets ? POURQUOI ======== Le 2026-08-12, 25 711 chunks de conversations (56 sessions Claude + 150 AGY) ont ete inseres dans rag_chunks par forge_conv_indexer main 219
tools/forge_couverture_perimetre.py DEUX metriques de couverture, jamais fusionnees est_ecarte, mesurer_couverture, main 169
tools/forge_db_sanitize.py Sanitize embeddings.db avant upload (R2/HF/cloud) list_tables, phase_A_drop, phase_B_sanitize, phase_C_audit_whitelist (+3) 420
tools/forge_demand_proxy.py Proxy HTTP générique on-demand + idle-kill ================================================================== Usage: python forge_demand_proxy.py --service Chaque service définit: proxy_port : port exposé à Nokido (permanent, ~20 MB) real_port : port du DemandProxy, build_app, main 304
tools/forge_deps_reconcilier.py Reconcilie MANIFESTE, ENVIRONNEMENT et VULNERABILITES, et classe les montees par risque date_du_nom, rapport_courant, a_des_binaires, lire_manifestes (+6) 445
tools/forge_dpop_tpm_cli.py ecrit sur stdout une preuve DPoP signee par la cle TPM d'un agent main 75
tools/forge_firehose_guard.py garde anti-régression "firehose / fuite" pour le gate git scan, main 136
tools/forge_gen_tls_cert.py Génère un certificat TLS auto-signé local pour le hub gen_cert, main 103
tools/forge_generer_appui.py genere les tests d'APPUI qui rendent le gain mesurable chemin_test_appui, dependance_tierce_absente, contenu_test_appui, sonder_import (+5) 432
tools/forge_git_egress_lock.py ============================================================================ Verrou EGRESS RÉSEAU du gate git souverain available, run 171
tools/forge_git_gate.py Filtre git CENTRAL de Nokido (routé par .githooks/) main 774
tools/forge_git_proxy.py ============================================= Proxy CONNECT local : TOUTES les requêtes git (push/fetch/clone/ls-remote) transitent par lui dès que git est configuré http(s).proxy load_allow, GitProxy 187
tools/forge_governed_commit.py Commit gouverne, appelable par un agent ring 1 main 98
tools/forge_governed_edit.py écriture/édition de fichier GOUVERNÉE (cœur du futur tool MCP edit) governed_write, main 355
tools/forge_history_redact_phase1.py Phase 1 (SAFE / isolated) of the git history token-redaction run, grep_count 91
tools/forge_history_redact_phase2.py Phase 2 (DESTRUCTIVE) — force-push redacted history + re-sync live repo safe, run, gd, gr 126
tools/forge_history_redact_status.py Fast status probe for the history-redaction (Phase 2 assessment) safe, run, sha 61
tools/forge_history_redact_v2.py Phase 1 v2 (SAFE / isolated) — robust git history token-redaction run, g, heads, extract_literals (+1) 145
tools/forge_history_scan_job.py lance le balayage EXHAUSTIF, detache main 40
tools/forge_history_secret_audit.py ce que l'HISTOIRE exposerait si on ouvrait audit, lire_blobs, audit_exhaustif, main 312
tools/forge_http_proxy.py Proxy HTTP/HTTPS souverain pour LobeHub & autres clients log, classify, relay, handle_connect (+3) 271
tools/forge_jeton_lanceur.py le jeton COURT d'une identite, pour le superviseur qui lance son service emettre, main 113
tools/forge_jwt_issue.py CLI : issue un JWT HS256 Nokido avec scopes + TTL main 66
tools/forge_license_guard.py garde-fou conformité AGPLv3 des dépendances Python classify, main, dependances_declarees, verifier_declarees (+1) 378
tools/forge_load_pypi_creds.py charge les tokens PyPI/TestPyPI au coffre DPAPI load 74
tools/forge_log_guard.py sécurité anti-log-géant (épure les logs qui enflent) scan_once, main 123
tools/forge_log_redact.py RedactingFormatter : secrets/PII jamais écrits sur disque RedactingFormatter, install, redact, rediger_fichier (+1) 216
tools/forge_merge_gate.py porte de merge wip/ -> alpha, jugee sur le GAIN suite_nr, evaluer, merger, main 165
tools/forge_migrate_env_secret.py Migre un secret de Nokido.env vers le vault DPAPI sous un nom PROPRE — 58
tools/forge_mtls_probe.py preuve REELLE du handshake mTLS, sur un port ISOLE run, main 339
tools/forge_npsc.py NPSC — Nokido Protocol & Standards Conformance : le JUGE charger_registre, applicabilite, exigences, executer_exigence (+7) 540
tools/forge_npsc_decouverte.py NPSC — DECOUVERTE des surfaces, par mesure et non par liste a priori decouvrir, main 220
tools/forge_npsc_scan.py NPSC — inventaire des SURFACES par preuve en cascade (niveaux 0 a 3) fichiers_versionnes, classer, signaux_python, signaux_lexicaux (+5) 476
tools/forge_oncoguard.py skill_promotion_review (p53 / suppresseur de tumeur) wilson_lower, review_skill, selftest 68
tools/forge_pair_quarantaine.py la quarantaine des pairs cloud, cote OWNER : lister, approuver, rejeter, repondre geste_owner, chemin_m2m, dossier_capsules, lister (+9) 524
tools/forge_passerelle_pair.py habilitations des PAIRS cloud (claude.ai, ChatGPT) du connecteur — 53
tools/forge_patch_bind_guard.py branche le garde d'exposition dans le hub main 109
tools/forge_patch_secret_guard_dos.py One-shot patcher: bound the secret-scan input length in forge_secret_guard.py — 80
tools/forge_portail_cle.py cle Ed25519 des sessions du portail (decision owner 2026-09-28) generer, enregistrer, main 150
tools/forge_pre_push_gate.py garde PRE-PUSH client-side (brique 3 isolation) verdict, main 130
tools/forge_prepush_cliquets.py joue au PRE-PUSH les cliquets-outils de la CI, sur le SHA POUSSE shas_a_verifier, commande, classer, main 125
tools/forge_proc_rights_probe.py QUI suis-je, QUI est la cible, et qu'ai-je le droit de faire sur elle ? (owner 2026-07-25) Ecrit apres une conclusion trop rapide de ma part : psutil ayant rendu AccessDenied sur OpenProcess, j'ai annonce que « LaForgeTrusted n'a pas de droits sur les proc main 107
tools/forge_provision_agent_secret.py Provisionne le secret AppRole d'un agent main 69
tools/forge_publication_gate.py porte d'autorisation FAIL-CLOSED du push PUBLIC porte_publique 63
tools/forge_recon_breaker.py coupe-circuit COMPORTEMENTAL anti-fuite-tokens (transients) hit, verdict, is_nokido_args, hit_mem (+2) 141
tools/forge_release_gate.py le point d'entree UNIQUE avant d'ouvrir ou de livrer ctrl_syntaxe, ctrl_arbre_propre, ctrl_publication, ctrl_composition (+11) 577
tools/forge_resonde_trusted.py teste TOUS les organes INDETERMINE sur le vivant, sous trusted main 146
tools/forge_rfc_freshness_gate.py Gate de FRAICHEUR des RFC ingerees : le corpus local vs l'etat amont IETF evaluer, main 249
tools/forge_rotation_proof.py FORGE_COLOR = 'immunitaire/rotation' forge_rotation_proof — deroule un cycle de rotation REEL et prouve qu'il SURVIT AU REDEMARRAGE avant_restart, apres_restart, nettoyer, main 281
tools/forge_rsp_gate.py RSP maison : matrice ASL (risque de la TACHE -> confinement requis) classify_asl, required_containment, gate, selftest 140
tools/forge_rules_restore.py restaurer un fichier de la RACINE depuis un commit main 105
tools/forge_scrub_secrets_phase1.py Phase 1 (SAFE / isolated) of the git history secret-scrub run, grep_count 88
tools/forge_search_replace.py applicateur de blocs SEARCH/REPLACE (édition chirurgicale, façon Aider) parse_blocks, apply_to_text, apply_blocks, main 152
tools/forge_secret_audit.py ================================================ Audit du coffre de secrets : détecte PLACEHOLDERS / clés vides / suspectes, SANS JAMAIS imprimer les valeurs (masquage : préfixe court + longueur seulement) add_template, main 160
tools/forge_secret_egress_gate.py FORGE_COLOR = 'immunitaire/egress' forge_secret_egress_gate — detecte les chemins ou une VALEUR de secret peut partir en sortie : print, logging, exception, f-string, formatage analyser_source, analyser, main 214
tools/forge_secret_migration.py migre les lectures de secret vers le COFFRE executer, main 381
tools/forge_secret_rotation_check.py ces secrets de l'historique servent-ils ENCORE ? POURQUOI ======== Le balayage du 2026-08-29 a trouve 20 secrets reels dans l'histoire d'alpha et beta (LaForge.env, .env.bak, - Copie.env, live_bridge.map) empreintes_historiques, empreintes_en_service, verifier, a_revoquer (+2) 379
tools/forge_secret_source_audit.py QUI lit un secret sans passer par le coffre scanner, nature, proprietaires, masquer (+2) 510
tools/forge_secretary.py SECRÉTAIRE PROACTIF par agent : sur le tick heartbeat, RELÈVE le courrier postal (digest intelligent) et INTERPELLE l'agent — au lieu que l'agent doive poller lui-même tick, main 117
tools/forge_secrets_backup_relocate.py Deplace les backups plaintext laisses par forge_vault_migrate dans _backups/secrets/ (gitignore) main 39
tools/forge_set_tool_min_ring.py setter gouverne du min_ring d'un tool main 69
tools/forge_stale_guard.py un pouls perime, mesure sur le rythme DECLARE scanner, main 109
tools/forge_tier_guard_install.py chokepoint DB anti-repollution du tier vectoriel install, main 90
tools/forge_tls_caddy.py Terminaison TLS du hub via Caddy (méthode retenue panel multi-LLM 2026-06-01, après l'échec asyncio SSL Windows) write_config, cmd_run, cmd_start, cmd_stop (+2) 266
tools/forge_tls_proxy.py Reverse-proxy TLS-terminant devant le hub HTTP:8766 main 131
tools/forge_token_probe.py Demande a GitHub ce que chaque token peut REELLEMENT faire empreinte, sources, main 152
tools/forge_tool_gate.py gate UNIFIÉ des appels d'outils, partagé cross-CLI (Claude/Gemini/Codex) decide, admettre_transient, main 601
tools/forge_trust_broker.py SecretAnonymizer + OrchestratorTrustBroker ========================================================================= Protège la PI avant envoi Cloud et synthétise les échecs multi-agents en feedback actionnable sans trahir l'identité des agents SecretAnonymizer, DiagnosticSynthesizer, OrchestratorTrustBroker 360
tools/forge_trust_domains.py M0.1 — domaines de confiance : QUI reste digne de confiance quand le client peut ecrire dans le depot ? FORGE_COLOR = "immunitaire/enforcement : domaines de confiance, racine, autorites partagees" LA QUESTION, ET ELLE N'EST PAS « OU VIT LE FICHIER » Sortir Noeud, autorites_partagees, chemins_auto_modifiants, non_mesures (+6) 808
tools/forge_vault_copy_key.py Range une cle du coffre sous un AUTRE nom, sans repasser par le clair empreinte, main 88
tools/forge_wasm_sandbox.py tier d'exécution WASM RÉEL (« tend enfin vers le wasm ») readiness, run_wasm_module, run_python, pyexec_ready (+1) 175
tools/forge_wiring_view.py VUE FEDEREE du cablage sources, couverture, module, certification (+3) 495
tools/forge_zai_fix_key.py Extrait la VRAIE cle z.ai de la ligne malformee .env (...API_KEY_ID= API_KEY=) et la stocke en ZAI_API_KEY au vault DPAPI — 39
tools/forge_zai_inspect.py Inspecte la STRUCTURE de la zone z.ai dans Nokido.env (zero valeur affichee) — 26
tools/hook_context_firewall.py Context firewall -- reduire ce que Claude RECOIT, sans rien lui cacher reduire, traiter, main 232
tools/hook_integrity_check.py SessionStart : vérifie le filet de hooks AVANT la session run_check, main 439
tools/hook_pretool_guard.py Hook PreToolUse anti-regression Nokido main 119
tools/hook_search_guard.py PreToolUse guard (Read | Grep | Glob) main 70
tools/migrate_secrets_to_wcm.py Migration LaForge.env -> Windows Credential Manager ================================================================================ Cree le 2026-04-25 dans le cadre du durcissement secrets parse_env_file, is_placeholder, main 238
tools/patch_skill_indexer_secret.py Patcher one-shot : retirer le token en dur de tools/forge_skill_indexer.py main 101
tools/precautionary_pr_controller.py ===================================== Contrôleur de PR externe ultra-prudent — v2 (History-Aware + Anti-Bot-Smell) Adapté pour Nokido v17 — utilise les vrais modules : - MultiLLMBridge + ASTSurgeon + CerberusGuard (tools/evolutionary_engine.py) - forge_litellm PrecautionaryPRController 806
tools/prove_autonomy_pillars.py Demonstration VERIFIEE des 4 piliers d'autonomie Nokido print_header, print_info, print_success, print_fail (+5) 267

Cognition/Agentique/Raisonnement

145 modules · 47,781 lines

Module Definition Public API LOC
app/brain_worker.py CONTRAINTE: Args/Returns/Raises Embedder, Generator, security_audit, analyze_code (+5) 1614
app/forge_4096d_encoder.py FORGE_COLOR = cognition/world-encoder-4096 ENCODEUR 4096D END-TO-END — implemente la recette du debat multi-LLM (blackboard recipe_4096d_encoder_end_to_end), remplace la concatenation "4-facette" vicreg_loss, effective_rank, selftest, train_on_real (+1) 186
app/forge_active_inference.py Friston Free Energy Principle (FEP) simplifié Théorie : le cerveau minimise la surprise (free energy variationnelle) predict_signal, signal_z, observe_signal, get_prior (+9) 547
app/forge_active_inference_agent.py agent inference active Friston CyberAgent, build_cyber_agent, available 122
app/forge_actor.py Phase 2 - AMI roadmap: Actor with multi-plan exploration + UCT selection decode_action_emb, Node, gather_context_from_tree, generate_candidates (+5) 459
app/forge_agency.py FORGE_COLOR = cognition/sense-of-agency SENTIMENT D'AGENTIVITE — comparateur efference-copy (modele de Frith/Blakemore) forward_predict, register, evaluate, publish 144
app/forge_agent_authority.py CONTRAINTE: header HD batch acquire_master_dev, release_master_dev, force_transfer_master, set_orchestrator (+5) 384
app/forge_agent_benchmarker.py CONTRAINTE: header HD batch — 69
app/forge_agent_credential.py Credential d'un organe : jeton COURT plutot que secret permanent jeton_hub, jeton_pour, invalider, etat 442
app/forge_agent_hardware.py CONTRAINTE: header HD batch — 241
app/forge_agent_keys.py Ledger d'identite cryptographique — agent_id -> generation -> jkt -> status enregistrer, transition, revoquer_agent, cles_acceptees (+3) 482
app/forge_agent_lats.py LATS-style wrapper généralisé pour tout agent Nokido run_with_lats 356
app/forge_agent_roles.py CONTRAINTE: header HD batch AgentRole 929
app/forge_agentic.py CONTRAINTE: header HD batch handle_agentic, handle_evolve 262
app/forge_agentic_engine.py CONTRAINTE: Unification AgenticEngine (FULL IMPLEMENTATION from rag_engine) SkillEntry, AgenticEngine, EvolutionOrchestrator 270
app/forge_arbitrator.py CONTRAINTE: header HD batch ConfidenceReport, evaluate_confidence, build_skeleton_prompt, DispatchResult (+2) 548
app/forge_auto_pilot.py CONTRAINTE: header HD batch MMapReader, AutoPilot, start_autopilot, stop_autopilot (+1) 469
app/forge_benchmark_adapter.py lecture programmatique des scores de benchmark (HumanEval / BFCL / SWE-bench) pour le signal de fitness eval-driven swebench_dir, swebench_cache_dir, humaneval_score, bfcl_score (+4) 104
app/forge_capability_benchmark.py ce que Nokido SAIT FAIRE, mesure, par dimension capacites, capacite, main 98
app/forge_claim_classifier.py Step 4 epistemic: classifier is_technical vs is_normative pour claims is_technical_keyword, is_technical_mlp, is_technical, main 361
app/forge_clarification.py Détecte ambiguïté et demande clarification needs_clarification, build_clarification_request, clarify_or_proceed 89
app/forge_collab.py Canal de discussion fichier-partagé multi-agents Pattern : un fichier markdown par sujet dans sandbox/collab/.md append, read, tail, list_topics 161
app/forge_collab_modes.py CONTRAINTE: SHIM de compatibilité ascendante (Phase 3/3) — 61
app/forge_continual_backprop.py Continual Backpropagation (Dohare et al., Nature 2024) ContinualBackprop 122
app/forge_cowork.py collegue IA persistant ("Cowork" souverain internalise) init_db, create_project, get_project, list_active (+7) 577
app/forge_critical_events.py Append-only SQLite log for events qui doivent survivre a un restart hub backup, rotate_backups, persist, unprocessed (+3) 258
app/forge_debate_roles.py RÔLES DIALECTIQUES du débat M2M (organe : cognition) ============================================================================ Complète forge_roles.ROLES (rôles d'exécution : PLANNER, EXECUTOR, REVIEWER…) par les rôles de DÉBAT, et s'appuie sur `forge_swa DebateRole, TourInvalide, extract_cot, anonymise (+2) 308
app/forge_dialogue_outcome.py AXE 8 : évaluateur d'issue d'un échange de dialogue Outcome, evaluate_exchange, record_outcome, evaluate_and_record (+1) 203
app/forge_dim_policy.py FORGE_COLOR = cognition/dim-policy POLITIQUE DIMENSIONNELLE HYBRIDE par-organe — formalise la decision (D) du debat 4096D tier_for, dim_for, transmit_compressed, policy 71
app/forge_domain_mapper.py Du verbe et de la cible au DOMAINE, sans appel LLM apprendre, deduire_domaines 264
app/forge_dsl.py DSL compact Nokido (économie tokens 80-90% vs prompt naturel) DSLOp, parse_dsl, resolve_ref, register (+4) 553
app/forge_epistemic_veille.py FORGE_COLOR : cognition / metacognition (organe) ORGANE : GAP ÉPISTÉMIQUE → VEILLE — « éprouver le besoin de savoir » manifold_error, coverage_dense, coverage_score, feel_gap (+13) 714
app/forge_explore_rank.py classement des extraits de recon AVANT la coupe du digest score, classer 65
app/forge_flow_control.py ÉQUIPE agentique de CONTRÔLE D'ACCÈS & DE FLUX flow_contract, route_flow, gate_flux, team (+1) 176
app/forge_flow_zone.py Pierre-Yves Oudeyer (Inria) Flow Zone Théorie : un agent autonome n'a pas d'objectif, il cherche la zone de difficulté optimale (ni trop facile = ennui, ni trop dur = frustration) learning_progress, flow_score, find_flow_methods, find_boredom_zones (+1) 230
app/forge_grounder.py verbe ground(claim|task) : grounding QUALIFIE multi-source + verification ADVERSARIALE multi-LLM ground 238
app/forge_handler_agents.py CONTRAINTE: header HD batch run_collaboration, run_comite 356
app/forge_handler_evolve.py Handler @evolve pour Nokido TUI =============================================================== Interface directe avec le Siloed Reasoning Engine handle_evolve 233
app/forge_handler_skill.py Handler @skill TUI ================================================ Interface Nokido pour le connecteur ClawHub isolé en silo handle_skill 283
app/forge_harness_contract.py CONTRAT d'execution par etape de la facade harness EtapeContrat, verdict_etape, depuis_trajectory_step, ligne 154
app/forge_js_endpoint_extractor.py Extracteur d'endpoints JS pour Bug Bounty JSEndpointExtractor, silo_js_extract 139
app/forge_lats.py Language Agent Tree Search (Hassabis, Yao 2024) EtatVivant, PatchProposal, SandboxResult, LATSNode (+3) 700
app/forge_lats_general.py Language Agent Tree Search GENERAL purpose MCTSNode, lats_solve, main 277
app/forge_llm_usage_adapters.py Adaptateurs d'usage LLM -- Claude, Codex et AGY dans UNE seule table depuis_claude, depuis_codex, depuis_agy, migrer 216
app/forge_llm_usage_event.py Contrat canonique d'un evenement d'usage LLM ErreurContrat, creer, context_tokens, cle_agregation (+1) 228
app/forge_mailbox.py Boîtes aux lettres inter-agents à code HMAC ================================================================ Remplace le poll réseau toutes les 15s par un système push/pull protégé par code HMAC dérivé du token agent + timestamp verify_code, push, pull, get_code (+2) 170
app/forge_mcts_engine.py Moteur de réflexion délibérée (System 2 / LLM-MCTS) ThoughtNode, ConsensusEvaluator, TransientCodeEvaluator, MCTSEngine 228
app/forge_memoire_active.py la MEMOIRE DE TRAVAIL du corps, en strates salience_dette, dettes_ouvertes, ouvrir_dette, clore_dette (+2) 522
app/forge_metacognition_gate.py Nokido Engrid v3 · Couche 1 ============================================================ MetaCognitionGate : filtre intelligent entre le prompt entrant et le backend LLM GateDecision, GateResult, SiloScore, ConfidenceScorer (+1) 629
app/forge_mpc.py Phase 5 - AMI roadmap: Model Predictive Control (closed-loop planning) MPCStep, MPCResult, plan_horizon, mpc_step (+1) 437
app/forge_mpc_executor.py Phase C — MPC real execute_fn execute_fn, run_real_mpc 193
app/forge_mutation_judge.py LE JUGE des mutations — le milieu implacable, sans lequel l'arbre ne vaut rien perimetre_immuable, zone_evaluateur_touchee, evolution_autorisee, poser_frein_evolution (+16) 873
app/forge_narrator.py FORGE_COLOR = cognition/narrative-self NARRATEUR AUTOBIOGRAPHIQUE — tisse les faits isoles en RECIT continu de soi weave, narrate, consolidate, inject_into_context (+1) 279
app/forge_novelty_organ.py Organe de Nouveauté (Autoencoder PyTorch + FlowRegulator) ==================================================================================== Détecte les anomalies par erreur de reconstruction MSE NoveltyEngine, FlowRegulator, AugmentedNovelty 146
app/forge_novelty_search.py Novelty Search (Stanley/Lehman 2011) Récompense la NOUVEAUTÉ, pas l'objectif compute_novelty, archive_behavior, is_exploration_mode, combined_score (+4) 384
app/forge_organ_agents.py CENSUS ORGANE×AGENT de l'organisme + câblages essentiels phases, probe, critical_points, census (+4) 400
app/forge_persona_engine.py Charge les personas YAML de config/personas et assemble le system prompt d'une persona PersonaEngine, get_persona_engine, nokido_system 331
app/forge_pillar_arbiter.py Arbitre des piliers lourds : la regulation EMANE du corps, le client RECLAME reclamer, pilier_accorde, backends_autorises, backend_autorise (+2) 260
app/forge_ps_agent.py Micro-Agents PowerShell avec déport cognitif ================================================================= 3 méthodes selon le document d'architecture : M1 PSAgentBuilder, build_agent_for_mcp 549
app/forge_repo_map_tools.py outils deterministes view/edit pour agents view_file_content, edit_file_block, insert_at_line, restore_backup 195
app/forge_repo_map_ts.py symboles TypeScript pour la repo map (proxy_deno, organes Deno) disponible, parse_tree_sitter, parse_lexicale, parse_ts 153
app/forge_research_agent.py Agent recherche autonome zero token Claude research_agent 610
app/forge_retrieval_router.py Routeur de recuperation — contrat, observation, et bascule SHADOW/ACTIVE mode, RouteDecision, caracteriser, decider (+5) 367
app/forge_roles.py Système de rôles locaux Nokido ================================================= Chaque rôle est un agent autonome avec : - Un modèle local dédié (Ollama) - Une responsabilité unique - Un Semaphore pour éviter la saturation GPU - Un circuit breaker intégré - U best_cloud_for_role, CircuitState, RoleCircuitBreaker, Role (+2) 477
app/forge_roles_legacy.py roles.py AgentRole, IntentRouter, ModelBenchmark, ModelBenchmarker (+2) 1507
app/forge_scalable_oversight.py FORGE_COLOR : metacognition / gouvernance (organe) ORGANE : SCALABLE OVERSIGHT — « un juge plus fort audite ce qu'un juge plus faible affirme » oversee, history 171
app/forge_semantic_pressure.py Pression sémantique autopoiétique compute_cluster_centroids, compute_semantic_pressure, should_trigger_action, autopoiesis_cycle (+1) 264
app/forge_skill_curator.py Curation autonome de skills depuis execution_traces ============================================================================= Carve-out hermes-agent (cf research-hermes-agent) : extraction auto de skills depuis trajectoires self-play réussies + boucle CuratedSkill, extract_skills, grade, prune (+3) 518
app/forge_skill_enricher.py Boucle de capitalisation : leçons + topics → skills scan_recent_lessons, scan_emerging_topics, existing_skill_path, propose_skill_update (+2) 397
app/forge_skill_forge.py FORGE_COLOR : digestif/sens (ingestion) + qualité (skills) forge_skill_forge — Génération NATIVE de SKILL.md depuis une source (URL doc / texte) forge_skill_from_text, forge_skill_from_url, install_skill, from_url (+1) 161
app/forge_skill_policy.py Politique centralisée install skills externes Claude Code skill_min_ring, skill_allowed_for_ring, PolicyVerdict, audit_plugin (+4) 405
app/forge_spatial_reasoning.py grid representation RAG (hippocampe-inspired) SpatialMap, main 293
app/forge_task_duo.py DUO planificateur + décomposeur : organise une roadmap en VAGUES PARALLÈLES testables, avant de chaîner les exécuteurs waves, organize, decompose 191
app/forge_tem_factorize.py Tolman-Eichenbaum Machine (TEM) pattern factorization tem_compose, derive_structure_embedding, tem_search, main 169
app/forge_thought_interceptor.py Nokido Capture et indexe la chaîne de raisonnement (CoT) des modèles cloud ForgeThoughtInterceptor 67
app/forge_triad_authority.py CONTRAINTE: header HD batch TriadStep, step_audit, step_plan, step_execute (+4) 416
app/forge_typed_task.py ControlFlow-style typed task contract for Nokido run_typed_task_async, run_typed_task, run_typed_schema_async, run_typed_schema (+1) 233
app/forge_user_layer.py Couche USER / TENANT / MFA (scaffold compliance #3+#4) generate_totp_secret, totp_now, verify_totp, totp_provisioning_uri (+10) 317
app/forge_value_net.py Value Network (Hassabis / AlphaZero pillar) ValueNet, train, get_model, predict_value 214
app/forge_veille_digest.py FORGE_COLOR : cognition / metacognition (organe) ORGANE : DIGEST -> SUGGEST — « tirer les leçons de ce qu'on vient d'apprendre » noms_organes, organes_valides, valider_organe, tag_complet (+16) 1119
app/forge_watch_agent.py Veille active intelligente (Watch Agent) PIPELINE N8N-STYLE (reprise possible à chaque étape) : THÈME → [LLM local] génère mots-clés raffinés (step: keywords) → [vérification] pertinence des mots-clés (step: verify_kw) → [SearXNG] recherche par mot-clé (step: register_sse_callback, verdict_chaine, run_watch_job, create_job (+2) 1911
app/forge_workflow.py Workflow SOUVERAIN DÉPORTÉ (équivalent local du tool Workflow) run_plan, submit 189
app/legacy/skilltree.py Ancienne application Textual qui affiche un arbre de compétences coloré par état SkillNode, SkillTree, AdvancedRagTUI 105
app/skilltree.py CONTRAINTE: docstrings Args/Returns/Raises detect_skills, get_dependencies, get_subtree, SkillState (+3) 914
tools/agent_notify.py Notification inter-agents bidirectionnelle resolve_agent, send, main 150
tools/assign_gemini_tasks.py Assign 3 infra tasks to Gemini CLI via hub assign 89
tools/check_agent_msg.py Check recent agent_messages + hub notify routing for claude — 26
tools/forge_active_inference_homeostat_prototype.py Non-intrusive prototype demonstrating adaptive homeostatic limits driven by FEP surprise calculate_adaptive_limits, main 124
tools/forge_agentic_roles_probe.py Quels ROLES AGENTIQUES chaque endpoint peut-il reellement tenir ? Les use_case disent QUI REPOND ; les roles disent QUI PEUT FAIRE QUOI dans une boucle d'agent fiche_du_modele, epreuve_verdict, epreuve_etiquette, epreuve_plan (+2) 251
tools/forge_authority_db_split.py Sort opsec_state et forge_tools de la base RAG vers la base d'AUTORITE copier, verifier, basculer, main 228
tools/forge_cmd_compactor.py Compacteur de sortie de COMMANDE (DSL déclaratif porté de rtk-ai/rtk) load_filters, match, compact, main 192
tools/forge_cognition_retrain_1024.py A/B world-model @384 (legacy traces) vs @1024 (traces_rich) main 150
tools/forge_cognitive_fitness.py FORGE_COLOR = "cognition/fitness" FITNESS COGNITIVE — mesurer COMMENT le systeme raisonne, pas seulement s'il finit par tomber juste mesurer, emettre, main 202
tools/forge_debate_job.py ARÈNE DE DÉBAT multi-tour SOUVERAINE (déportable via run_job) cristalliser, capsule_en_texte, ecrire_capsule, preflight_providers (+3) 647
tools/forge_debate_run_job.py worker DEPORTE du debat inter-agents (params-driven) main 69
tools/forge_dpo_extractor.py Extraction paires DPO depuis execution_traces.db load_traces, build_pairs, export_jsonl, run 159
tools/forge_epistemic_calibrate.py Step 8 epistemic: calibration coefficients alpha/beta/gamma/delta/epsilon via regression logistique sur dataset historique de claims bootstrap_dataset_from_db, load_csv_dataset, calibrate, save_config (+1) 248
tools/forge_epistemic_daemon.py la SOIF DE CONNAISSANCE, cablee sur les vraies requetes run_once, run, main 1037
tools/forge_epistemic_extract_claims.py Consolidation epistemique : extraction d'assertions, reevaluation, supersession, porte nom_backend, extracteur_backend, juge_backend, process_batch (+3) 641
tools/forge_epistemic_recompute.py Step 3: cron daily — recalcule epistemic_weight pour chaque chunk actif recompute, main 254
tools/forge_epistemic_simulator.py Epistemic dynamics simulator — visualise trajectoire confidence_score d'un claim dans le temps sous l'effet de l'equation: epistemic_weight(t) = alphatrust_weight + betarecency_decay(t) + gammacitation_norm + deltapeer_review_bonus + epsilon*refutation_pen EpistemicChunk, epistemic_weight, simulate_trajectory, scenario_stego (+4) 281
tools/forge_gap_direction.py croise CE QUI CLOCHE avec CE QU'ON VEUT croiser, point, main 302
tools/forge_gemini_autonomous_agent.py GEMINI AUTONOME : daemon qui relève l'inbox postal de l'agent GEMINI, invoque gemini_cli sur chaque courrier, et POSTE la réponse — SANS humain tick, main 625
tools/forge_gemini_ingress.py ingress Gemini Dev/Vertex (generateContent) -> Nokido health, generate, main 167
tools/forge_js_endpoint_extractor.py Extract hidden API endpoints from JS bundles extract_endpoints 60
tools/forge_lats_debug_debate.py debat multi-LLM CIBLE bug actuel LATS main 247
tools/forge_lats_smoke.py end-to-end smoke test stack repo_map + LATS + tools propose_fn, main 155
tools/forge_llm_ondemand.py Allumer / eteindre A LA DEMANDE les cerveaux souverains locaux poser_intention, llama_up, llama_down, lmstudio_up (+3) 429
tools/forge_llm_ondemand_traqueur.py Traque QUI repose llama.wanted en boucle main 108
tools/forge_local_explore.py MIROIR LOCAL d'un Agent(Explore), 100% souverain search, synth_local, main 120
tools/forge_local_llm_bringup.py Lever les serveurs LLM LOCAUX, puis les prouver — pas les promettre port_ouvert, attendre, completer, bringup (+1) 308
tools/forge_patch_agent_list_task_executor.py Ajoute TASK_EXECUTOR à _AGENT_LIST du hub (tools/nokido_hub.py), fichier CRITIQUE main 64
tools/forge_patch_tools_list_rolescope.py Patch CRITICAL_FILE : tools/list peut deriver son perimetre du ROLE main 131
tools/forge_place_debate_html.py place le template GUI du debat dans app/web_hub main 28
tools/forge_recursive_link.py runtime SOUVERAIN du RecursiveLink (RecursiveMAS Path 1) is_available, why_unavailable, load, latent_hop (+3) 199
tools/forge_retrieval_sweep.py Balayage MULTI-SURFACE avant toute affirmation d'absence verdict_global, balayer, main 336
tools/forge_router_replay.py Replay des observations du routeur — rejoue la DECISION, jamais les signaux mesurer_adaptation, rejouer, diff_ab, main 269
tools/forge_savoir_census.py OU vit le savoir de Nokido, et par quoi est-il ATTEIGNABLE bases, tables, couverture_par_jointure, couverture_fts (+2) 422
tools/forge_skill_catalogue.py Catalogue CANONIQUE des skills — la table de resolution des identites Surface, Record, Releve, canoniser (+8) 389
tools/forge_skill_execution.py EXECUTION gouvernee d'un plan de skills, et PROVENANCE de la chaine Realisation, Execution, Trace, executer_etape (+10) 667
tools/forge_skill_migrate.py migration skills vers la taxonomie souveraine HYBRIDE (24 -> 14) run 177
tools/forge_skill_realisations.py Realisations REELLES : ce qui relie une capacite a une route gouvernee — 212
tools/forge_skill_retrieval.py RETRIEVAL de skills — quels skills sont pertinents pour un objectif donne jetons, Candidat, Resultat, chercher (+1) 231
tools/forge_skill_sync.py Matérialiseur de skills cross-CLI souverain AssetType, AssetConfig, discover, consolidate (+7) 1066
tools/forge_skills_reorg.py migration namespace skills -> forge-* (NON-DESTRUCTIF, dry-run) plan, main 105
tools/forge_snn_repo_extract.py FORGE_COLOR = "cognition/extraction-snn" EXTRACTEUR du depot public NokidoSNN depuis Nokido main 284
tools/forge_soif_demo.py boucle SOIF complete sur UN gap reel, de bout en bout main 62
tools/forge_symptom_index.py « SUIS-JE DEJA PASSE PAR LA ? » construire, construire_rag, charger_index, demander (+1) 488
tools/forge_task_queue_db_split.py sortir task_queue de la base du RAG copier, verifier, main 196
tools/forge_thought_interceptor.py Intercepteur CoT avec GPU Lock + densité cognitive ================================================================================== Capture les balises ... des modèles DeepSeek-R1/Qwen-R1 en streaming, avec synchronisation iGPU (FileLock) et c ForgeThoughtInterceptor 322
tools/forge_tpm_agent_keys.py provisionne les cles TPM PAR AGENT (geste owner) etat_des_cles, main 400
tools/forge_vault_mint_agent_token.py FRAPPE un jeton d'agent au coffre main 137
tools/forge_vault_seed_agent_tokens.py Vault seeding agent tokens main 351
tools/forge_veille_codex_run.py veille déportée : écosystème OpenAI/Codex — 18
tools/forge_veille_depouillement.py Suivi du DEPOUILLEMENT de la moisson de veille -- ce qu'il reste a lire noter, id_page, famille_page, familles (+7) 463
tools/forge_veille_gemini_run.py veille approfondie déportée : écosystème Gemini/Gemma — 19
tools/forge_watch_agent_worker.py daemon supervisor pour la veille active main 231
tools/forge_wheel_probe.py Probe critical wheels on the active Python probe, main 126
tools/gemini_cli_daemon.py Daemon autonome Gemini CLI OAuth (Pattern D3) =========================================================================== Différence avec gemini_poll_daemon.py (Pattern D2) : D2 : poll Hub /messages → appelle API Gemini REST (GEMINI_API_KEY, quota-limité) D3 : run_daemon 222
tools/gemini_oauth_refresh.py Refresh Google OAuth token for Gemini CLI Generated by Groq Llama-3.3-70B, corrected by Claude refresh 112
tools/gemini_resume.py Relance Gemini CLI avec la derniere session du projet courant find_project_dir, get_sessions, main 121
tools/multi_llm_daemon.py Daemon multi-provider (Pattern D3 étendu) ====================================================================== Gère les agents : agt_ollama, agt_llamacpp, agt_lmstudio, agt_groq, agt_hf, agt_mistral, agt_cohere, agt_openrouter Poll agent_messages → backend L call_ollama, call_llamacpp, call_lmstudio, call_groq (+11) 853
tools/send_agent_task.py Envoie une tâche dans agent_messages send 51
tools/spawn_brain_worker_npu.py Spawn brain_worker.py avec env NPU ryzen-ai-1.7.0 en process détaché caché main 117
tools/start_litellm_proxy.py Lance LiteLLM Proxy sur 127.0.0.1:4000 ====================================================================== Bind local uniquement — jamais exposé réseau load_keys, main 116

SN vegetatif (autonome)

143 modules · 54,742 lines

Module Definition Public API LOC
app/brain_ping.py CONTRAINTE: header HD batch — 49
app/forge_aer.py FORGE_COLOR = "regulation/aer-evenementiel" AER — Address Event Representation pour les canaux vitaux de Nokido src_id, pas_de, Encodeur, Decodeur (+4) 332
app/forge_amygdala.py FORGE_COLOR = limbic/affect AMYGDALE — juge affectif : valence + salience PAR-EVENEMENT, modulee par l'humeur AmygdalaVerdict, appraise, token_budget, publish (+2) 238
app/forge_autonomous_loops.py Boucle évolutive autonome Nokido Pattern, register_pattern, pat_eval_fitness, verifier_chaine_evolution (+31) 4212
app/forge_circadian.py rythme circadien Nokido (homeostasie, autopoiese) Phase, PhaseAction, current_phase, PhysiologicalState (+4) 869
app/forge_circadian_loop.py Nokido v18.5 Cycle Circadien ======================================================== Daemon asynchrone de background processing phase1_janitor, phase2_dream, phase3_postmortem, phase4_epiphany (+2) 658
app/forge_curiosity_driver.py boucle fermee veille auto par gap-detection scan_domain_distribution, scan_predicate_distribution, scan_recency, detect_self_gaps (+9) 999
app/forge_docker_agent.py broker d'actions Docker GOUVERNE : pont hub <-> docker decide, run_docker, ensure_daemon, declarer_usage (+3) 432
app/forge_docker_audit.py journal d'audit UNIQUE des actions sur Docker record, tail 192
app/forge_docker_monitor.py Autonomous Docker Desktop watchdog docker_state, health, cut_docker, relaunch_docker (+1) 731
app/forge_docker_sandbox.py spawn de containers ephemeres ULTRA-restreints SandboxError, spawn_sandbox, list_allowed_runtimes 245
app/forge_docker_supervisor.py CONTRAINTE: Docker MCP gateway supervisor (cold-start + stdio bridge + JSON-RPC) ORGANE (CLAUDE.md §10) : - SN peripherique (cousin de forge_mcp_registry) DockerSupervisorError, DockerSupervisor, get_supervisor 364
app/forge_docker_transient.py Transient Daemon Sandbox (Architecture V16) ======================================================================= Implémente le pattern "Daemon + Exec" pour les boucles darwiniennes MCTS TransientEnv 219
app/forge_econome.py Organe ECONOME (gouverneur du cout cloud) ============================================================ Organe P2 jusqu'ici DORMANT (cf govern_budget, run_cycle 129
app/forge_endocrine.py Régulation endocrinienne transverse Nokido receptors, orphans, HormoneReading, release (+5) 711
app/forge_endocrine_system.py Bus Endocrine de régulation de rythme métabolique Nokido RhythmStatus, set_rhythm, get_rhythm_status, get_rhythm (+3) 371
app/forge_flap_journal.py Journal PERSISTANT des oscillations de services (prealable S2) run_cycle, main 179
app/forge_glymphatic_gc.py Maintenance NREM3 inspiree du systeme glymphatique run_gc 222
app/forge_health.py CONTRAINTE: header HD batch CheckResult, check_imports, check_registry, check_database (+13) 911
app/forge_heartbeat.py CONTRAINTE: header HD batch beat_daemon, demarrer_pouls_service_http, Cadence, beat (+7) 590
app/forge_hormones.py Système endocrinien typé Nokido subscribe_event_queue, unsubscribe, release, cleanup (+3) 397
app/forge_hormones_subscriber.py Helper API pour daemons qui consomment hormones active, receptors_for, get_dose, system_state (+1) 127
app/forge_idle_watchdog.py DEPRECATED: forge_idle_watchdog.py → app/hardware/idle_watchdog.py This is a backward-compatibility stub — 24
app/forge_inspector.py Monitoring autonome Nokido v1.0 ====================================================== Branché sur forge_network_logger.net_log() — bus centralisé existant load_snapshot, start, stop, status (+1) 818
app/forge_keeper_base.py base commune des OrganAgents KEEPER (tenue + présentation) keeper_contract, register, declare, discover (+7) 254
app/forge_lane_admission.py Admission control souverain avec prévention d'embolie current, acquire, release, check_ressources (+1) 373
app/forge_lnn_monitor.py Liquid Neural Network monitor (ncps CfC) TimeSeriesLNN, build_monitor, available 76
app/forge_loop.py CONTRAINTE: header HD batch post_loop_safe_check, propagate_patch, apply_suggestion 411
app/forge_loop_sentinel.py Sentinelle de lag d'event-loop start, start_kill_watchdog, stats 317
app/forge_mem_watchdog.py DEPRECATED: forge_mem_watchdog.py → app/hardware/mem_watchdog.py This is a backward-compatibility stub — 24
app/forge_meta_health.py Health scoring pour daemons Nokido Score 0-100 par daemon: heartbeat + error_rate + restarts score, get_all_scores, scan_all, get_health_report 141
app/forge_metabolism.py Régulateur métabolique et énergétique de Nokido MetabolismState, get_compute_energy_state, adjust_cognitive_rhythm, run_metabolic_cycle 126
app/forge_motivation.py Motivation intrinsèque (dopamine élégance + cortisol frustration) Couche au-dessus de forge_endocrine + forge_synaptic_plasticity kl_divergence, FEPPredictor, compute_elegance, reward (+6) 400
app/forge_nrem_scheduler.py NREM — consolidation OPPORTUNISTE : decider QUAND vectoriser, et par quelle voie decider, main 175
app/forge_organ_afferent.py le nerf par lequel un organe EMET son etat emettre, battre_medies, dernier_pouls, etat (+1) 390
app/forge_organ_demand.py Demande d'organe et etat d'organe — deux signaux qu'on avait confondus DemandeRefusee, poser_etat, etat_courant, acquerir (+5) 347
app/forge_parietal_fusion.py FORGE_COLOR = cortex/parietal-fusion CORTEX PARIETAL — fusion multimodale -> ESPACE DE TRAVAIL GLOBAL (percept unifie publie) fuse, publish, serve, main 257
app/forge_phenomenological_buffer.py FORGE_COLOR = cognition/phenomenal-stream PHENOMENOLOGICAL BUFFER — flux introspectif (qualia FONCTIONNEL), 1ere personne sense, update, get_recent_flow, serve (+1) 216
app/forge_ping_monitor.py Ping providers en parallèle (asyncio.gather) ==================================================================== Session 5 ping_all_providers, ping_all_sync, get_provider_health 134
app/forge_portable_supervisor.py Cross-OS supervisor Phase 2 reference impl PortableJobBox, ServiceDef, Worker, Supervisor (+2) 425
app/forge_proposal_applier.py APPLICATEUR de propositions — reflexe medullaire vs decision corticale cible_protegee, arme, porte_evolution, empreinte_l1 (+3) 608
app/forge_proprioception.py Conscience corporelle élargie Nokido measure_knowledge, measure_memory, measure_code, measure_storage (+6) 719
app/forge_reboot_sentinel.py Le corps SENT son propre reboot ========================================================== Owner 2026-07-23 : "le pid X survit au stop check_reboot, run_cycle 225
app/forge_remediation.py ================================================ ORGANE de remédiation autonomique (autophagie + glymphatique + homéostasie unifiées) check_embed_backlog, check_db_contention, check_orphans, check_phantom_slots (+6) 351
app/forge_renal_clearance.py Purge les fichiers .bak de plus de 7 jours, mesure les chunks RAG en double et compacte RAG/embeddings.db par VACUUM (forcé, ou si WAL > 50 Mo ou base > 500 Mo) FiltrationRule, FiltrationResult, filter_table, run_cycle (+2) 249
app/forge_resource_manager.py System resource monitor + dynamic allocator for Nokido observer_decision, read_vitals_history, attribuer_pression, resume_attribution (+34) 4735
app/forge_rss_watcher.py Veille technologique autonome Nokido ============================================================= Surveille : GitHub releases, PyPI, ArXiv, HuggingFace papers Pipeline : fetch -> ingest_pipeline L1-L3 -> RAG embeddings.db Sortie : COMMUNICATIONS.md + domain=w fetch_github_release, fetch_pypi_release, fetch_arxiv, run_watch (+1) 739
app/forge_safe_integration.py CONTRAINTE: header HD batch log, version_key, check_syntax, get_version_str (+8) 443
app/forge_sentinel.py Valide une instruction texte contre trois listes de regex (ring 0, 1, 2) et rend un verdict pass, warn ou block selon le mode dev/strict lu dans l'environnement SentinelResult, validate_action, sentinel_guard, is_dev_mode (+1) 337
app/forge_service_watchdog.py Watchdog HTTP pour les services NSSM Nokido ========================================================================= Détecte les services silencieusement DOWN (timeout HTTP) et les redémarre ServiceWatchdog 484
app/forge_snapshot.py Copie des tables choisies de RAG/embeddings.db (plus data/rag_files et Nokido.env selon le mode) dans backups/cold_storage/, avec manifeste et SHA256, et les restaure get_machine_key, derive_backup_salt, PreFlightError, preflight_check (+3) 820
app/forge_snn_monitor.py Spiking Neural Network monitor (snnTorch LIF) SNNMonitor, etat, get_monitor, available 218
app/forge_subjective_time.py FORGE_COLOR = cognition/subjective-time TEMPORALITE SUBJECTIVE — le temps RESSENTI, distinct du temps horloge compute_tempo, felt_duration, tempo_now, describe 135
app/forge_supervisor_diag.py Supervisor autodiagnostic Nokido classify_age, scan_heartbeats, diagnose, alert_dead (+1) 259
app/forge_system_mood.py Système endocrinien de Nokido (Sprint C) ANALOGIE BIOLOGIQUE (Damasio, "The Feeling of What Happens", 1999) : Le système endocrinien régule l'organisme de façon lente, globale, par diffusion MoodState, get_mood, update_mood, set_immune_alert (+3) 229
app/forge_temps_mort.py DEFINITION CANONIQUE du temps mort d'un organe seuil_mort, cycle_declare, cycle_derive, cycles (+5) 290
app/forge_test_fix_loop.py Software creator test-fix loop autonome FixResult, TestFixLoop, run_test_fix_loop 201
app/forge_token_monitor.py Token & coût monitor Nokido ====================================================== Calcule les coûts réels, surveille les latences et détecte les dérives refresh_pricing, count_text_tokens, count_image_tokens, estimate_precall (+8) 682
app/forge_vitals_channels.py FORGE_COLOR = "regulation/canaux-vitaux" CANAUX VITAUX -- source UNIQUE des grandeurs echantillonnees dans le temps grp_memoire, grp_cpu, grp_io, grp_disque (+14) 1046
app/hardware_monitor.py DEPRECATED: hardware_monitor.py → app/hardware/monitor.py This is a backward-compatibility stub — 24
tools/_restart_daemon.py Commit daemon fix + kill/restart multi_llm_daemon — 45
tools/_searxng_ensure.py ensure ONE-SHOT du conteneur SearXNG (réutilise forge_searxng_keeper, anti-dup) — 46
tools/auto_compact_monitor.py Détecte si le contexte Claude dépasse 800 lignes main 43
tools/cleanup_nokido.py Ménage Nokido vers la Corbeille Windows Lance : python cleanup_nokido.py trash 99
tools/cleanup_recycle.py _recycle.py recycle, recycle_glob 176
tools/cleanup_stale_jobs_20260708.py One-shot cleanup : purge les jobs détachés terminés dans C:/tmp/nokido_jobs main 61
tools/cleanup_workdir.py Cleanup workdir audit + propose drops dir_size_mb, audit, execute_drop, main 156
tools/diag_searxng_docker.py Diag Docker searxng : container up ? port map ? logs ? (UN snapshot) sh, main 26
tools/evolutionary_engine.py Moteur Évolutif Nokido + Cerberus ================================================================== Générations N+1, checkpoints NVMe, crossover, population fork, ASTSurgeon, CerberusGuard (AST + pytest + ruff), temperature adaptative ASTSurgeon, AdaptiveTemperatureManager, CerberusGuard, MermaidOrchestrator (+15) 2675
tools/forge_aa_discover_daemon.py Daemon hebdomadaire ArtificialAnalysis discover ============================================================================== Tous les 7 jours : 1 check_and_alert, main 216
tools/forge_auth_sentinel.py detect subscription-CLI auth death + alert for re-auth is_auth_dead, alert, scan, main 112
tools/forge_auto_evolution_loop.py Nokido autonomous evolution daemon check_heartbeats, scan_lessons, check_stale_files, main 307
tools/forge_bell.py La sonnette Nokido log, main 348
tools/forge_cli_version_watch.py detecte ce qui a BOUGE chez les CLI et leurs docs version_binaire, empreinte_doc, charger, main 167
tools/forge_coagulation.py agent COAGULATION : consomme les signaux critiques + soigne (borné) coagulate, watch 264
tools/forge_comm_watch.py veille PERMANENTE sur les briques de communication CLI snapshot, diff, run_once, status (+1) 277
tools/forge_diag_docker.py Diag Docker accès (user privilégié) main 45
tools/forge_docker_audit.py (a) supprime D:/Docker_Backup (110MB, perime) — 35
tools/forge_docker_boot_audit.py Réveille le daemon docker (trigger keeper docker.wanted) puis audite le reclaimable (system df + df -v) — 43
tools/forge_docker_bridge.py Bridge Docker natif pour Nokido MCP ============================================================== Remplace tous les subprocess.run(['docker','exec',...]) par des appels SDK Docker directs DockerBridge, exeg, exeg_async, deploy_file (+1) 205
tools/forge_docker_keeper.py Docker daemon keeper for Nokido supervisor ensure_docker, main 1175
tools/forge_docker_kill_source_capture.py RCA blocker Docker (2026-08-06) : capture QUI envoie le SIGTERM (exit status 15) qui tue com.docker.backend.exe main 162
tools/forge_docker_test_a_vide.py L'ENGINE DOCKER TIENT-IL A VIDE ? Test decisif du blocker « l engine Docker meurt sous charge conteneur », ouvert depuis le 25-07 et jamais tranche main 367
tools/forge_endpoint_monitor.py santé LIVE des endpoints LLM (cloud + local) probe, monitor, main 196
tools/forge_evolutionary_stack.py Stacking Évolutif Nokido ============================================================= Transforme chaque mutation validée en strate géologique réutilisable GenomicVault, PatternStacker, StandardsWriter, EvolutionaryStack 393
tools/forge_execute_loop.py Autonomous execute loop rag_search, read_file, ask_ollama, run_python (+3) 209
tools/forge_fix_sentinel.py FORGE_COLOR = "immunitaire/correctifs-perdus" SENTINELLE DES CORRECTIFS PERDUS — un fix commite, puis annule sans que personne ne le voie scanner, main 261
tools/forge_fix_sentinel_blame.py QUI a supprime chaque correctif perdu main 117
tools/forge_fix_sentinel_job.py sentinelle des correctifs perdus, passe HISTORIQUE main 69
tools/forge_gemini_keeper.py tient le Gemini CLI WARM + endpoint local rapide GeminiACP, GeminiREPL, Keeper 340
tools/forge_health_ui.py dashboard de santé Nokido, souverain + sans build load, render_html, main 137
tools/forge_hollow_sentinel.py les fonctions CREUSES : le nom reste, le corps est parti scanner, main 148
tools/forge_homeostasis_tick_profil.py UN tick d'Homeostasis, profile phase par phase main 176
tools/forge_hormones_listener.py Démon SSE consumer du système endocrinien main 230
tools/forge_job_liveness.py un job deporte TRAVAILLE-t-il vraiment ? Consigne owner du 2026-08-17 : « assure-toi systematiquement que tu ne lances pas des jobs morts » controler, main 159
tools/forge_job_progress.py l'avancement d'un job detache, partage par tous les clients emit, read, all_active, clear 145
tools/forge_job_stop.py arret PROPRE d'un job detache lance par run action=run_job stop_job, main 223
tools/forge_job_watch_cli.py Surveille un job detache et EMET ses transitions sur stdout surveiller_tache, surveiller_pair, lire_bilan, surveiller (+1) 438
tools/forge_kill_stale_executors.py tue les instances python de forge_task_executor.py (orphelines de restarts en rafale, injoignables par ensure_service) main 85
tools/forge_lmstudio_keeper.py keeper LMStudio (:1234) pour la pool multi-agents souveraine server_up, access_ok, loaded_models, load_model (+4) 246
tools/forge_local_pool_wake.py Réveil ON-DEMAND du pool LOCAL (priorité économie tokens) status, ensure_local_pool, main 145
tools/forge_log_retention.py Rétention + sanitisation tiers des logs Nokido run_retention, main 1885
tools/forge_log_rotate.py Rotate logs Nokido volumineux (truncate-safe) rotate_file, main 139
tools/forge_offline_trainer.py Batch offline training daemon for Nokido AMI nets run_training_cycle, main 337
tools/forge_organ_loop_test.py FORGE_COLOR = test/integration Harness CLOSED-LOOP INTER-ORGANES — prouve l'homeostasie de l'organisme comme un TOUT Probe, run, main 248
tools/forge_organ_pulse.py SENTINELLE ANTI-EMBOLIE (pouls périodique de l'organisme) pulse, watch 953
tools/forge_organ_pulse_watch.py lanceur de la boucle anti-embolie (déport run_job) — 18
tools/forge_orphan_reaper.py Moissonneur d'orphelins llama (2026-07-25) survey, run_cycle, main 362
tools/forge_physiology.py constantes physiologiques de l'organisme recovery_episodes, constantes, main 246
tools/forge_pid_gc.py PID file garbage collector pour Nokido sandbox classify, main 158
tools/forge_ping_monitor.py Nokido v18.5 ======================================= Moniteur de latence LLM en temps réel ping_provider, run_all, best_provider, hub_notify_scores (+1) 345
tools/forge_presence.py "qui est dans la piece" : presence/heartbeat inter-CLI mark_seen, room, who_present, last_seen 163
tools/forge_purge_patch_backups.py Purge les sauvegardes laissees par les scripts de patch (*.py.bak_*) main 61
tools/forge_quota_alert_daemon.py Daemon background quota providers ================================================================ Check toutes les 1h les quotas mensuels des providers Tier 2 (subscription) et Tier 3 (paid_api) check_and_alert, main 213
tools/forge_regulation_efficacy.py Capteur META : la regulation elle-meme est-elle efficace, ou POMPE-t-elle ? Le corps sait mesurer ses ressources (RAM, CPU, GPU) et il sait declencher des remedes journal, cadence, refractaire_verdict, gradient_rss (+3) 668
tools/forge_regulation_learner.py la boucle de regulation, cote APPRENTISSAGE charger_ledger, apprendre, main 231
tools/forge_regulation_loops.py DEBIT MAXIMAL DE CASSE des effecteurs, confronte a un budget par gravite body_urgency, Loop, audit, validate (+3) 475
tools/forge_regulation_proposer.py PREPARE l'ACT, sans jamais agir etat_courant, proposer, main 200
tools/forge_rescue.py Canal de secours Nokido v2.0 (ON-DEMAND + DROITS ADMIN) =========================================================================== Script DORMANT — zéro overhead au repos validate_config, cmd_status, cmd_restore, cmd_restart_hub (+8) 1025
tools/forge_resource_monitor.py ForgeMemoryGuard + Resource Monitor ====================================================================== Surveillance légère RAM/CPU pour ParallelMutationWorker get_usage_mb, backpressure, snapshot, check_nvme_temp 180
tools/forge_roadmap_keeper.py OrganAgent : TENUE + PRÉSENTATION de la ROADMAP vivante regen, promote, present, status (+2) 701
tools/forge_searxng_keeper.py wrapper supervisor pour conteneur Docker SearXNG main 328
tools/forge_self_patcher.py Nokido autonomous self-patching loop run_once, main 621
tools/forge_service_crash_watcher.py Subscribe Windows Service Control Manager events + log critical_events kind=service_crash quand un service Nokido* crashe main 237
tools/forge_snapshot_janitor.py Nokido v18.5 ========================================== Maintenance automatique de rag_snapshots drop_rag_triggers, recreate_triggers, run_janitor, trigger_db_maintenance 266
tools/forge_supervisor_ctl.py client minimal du superviseur Nokido main 295
tools/forge_supervisor_reconcile.py relance une boucle de waves calée main 137
tools/forge_tdr_sentinel.py TDR sentinel event-driven Win32 (Phase 12 refactor) main 344
tools/forge_test_resource_calibrator.py Gestionnaire de ressources pour les tests intensifs Nokido ProcessRecord, ResourceManager, main 758
tools/forge_vault_purge_backup.py purge le backup PLAINTEXT laissé par --finalize main 101
tools/forge_veille_purge.py purge ciblee de chunks du RAG, par PREFIXE de source bornes, compter, purger, main 168
tools/forge_veille_u1_boucle.py Pilote de cloture des veilles U1 -- enchaine les lots, borne par la CHARGE garde, boucle, main 208
tools/forge_vitals_channel_probe.py FORGE_COLOR = "regulation/canaux-vitaux" SONDE DES CANAUX VITAUX -- mesurer AVANT d'elargir le vecteur de capteurs echantillonner, juger 234
tools/nokido_watcher.py Daemon watcher auto-restart run_watcher, main 94
tools/nssm_health_restart.py NSSM health check + restart for Nokido services sc_state, nssm_restart, http_ok, main 78
tools/progress_watch.py fait DEFILER l'avancement d'un job detache, une ligne par etape suivre, main 134
tools/restart_claude.py Restart Claude Desktop + hub + clients kill_port, restart_hub, restart_claude, full 128
tools/restart_daemon.py Kill all gemini_poll_daemon processes + start one fresh kill_existing 64
tools/restart_searxng.py Restart privilegie du conteneur searxng-laforge main 26
tools/rotate_logs.py Rotation logs fichiers Nokido Regles: rotate_log, purge_sandbox_data 113
tools/snapshot_now.py Snapshot RAG manuel Utilise PRAGMA busy_timeout pour attendre que le MCP stdio libère — 40
tools/start_autoloops.py Launcher trusted du daemon autonomous_loops (detache, exempt gate P1) main 52
tools/veille_juicedata_docker.py Veille docker-ISOLEE sur github.com/juicedata (JuiceFS) main 62

Qualite/Build/Spec

110 modules · 30,367 lines

Module Definition Public API LOC
app/forge_commit_intel.py CONTRAINTE: AST + commit + scope + impact + risque + apprentissage, sans CodeQL ni scan externe risk_level, CommitIntel, get_bug_history, analyze_commit (+4) 868
app/forge_dep_manager.py Dependency auto-management pour code généré extract imports → check missing → pip install → verify extract_imports, check_missing, paquets_declares, filtrer_autorises (+3) 242
app/forge_dep_manager_auto.py Runtime automatic dependency recovery safe_import, auto_deps, test_safe_import_existing, test_safe_import_returns_same_module (+3) 149
app/forge_diff_analyzer.py Détecteur breaking changes vs codebase Nokido ======================================================================== Compare les nouvelles releases (RAG domain=watch_alerts) avec les imports et usages réels dans le code Nokido pour identifier les impacts pot scan_imports, scan_function_calls, get_breaking_changes, extract_deprecated_symbols (+5) 318
app/forge_interaction_test.py CONTRAINTE: header HD batch AgentMessage, InteractionResult, scenario_ping_pong, scenario_debate (+6) 724
app/forge_meta_tools.py Nokido v18.5 ===================================== 8 méta-outils MCP pour réduire 88% des tokens payload LLM is_safe_autonomous, get_tool_schema, get_filtered_schemas, token_estimate (+1) 745
app/forge_panorama_builder.py ========================= Scan AST de app/forge_*.py pour extraire le vrai graphe d'imports internes, puis genere un panorama Mermaid data-driven via forge_mermaid_gen scan_forge_modules, compute_orphans, build_mermaid_from_graph, build_panorama_via_llm (+1) 222
app/forge_prompt_builder.py Constructeur de prompts enrichis par le RAG Nokido =================================================================================== Rôle : permettre à des LLMs moins puissants (Llama 8B, qwen, mistral) d'atteindre la qualité d'un LLM de haut niveau en leur PromptBuilder 234
app/forge_quality_gate.py Quality gate bloquant avant commit (software creator) AST parse + pylint score + pytest coverage + TODO CRITICAL check GateResult, QualityGateError, QualityGate, block_if_failing (+3) 186
app/forge_resolver.py RÉSOLVEUR : pré-vol + résolution d'erreurs des flux live_providers, writable_path, ring_ok, resolve_provider_panel 143
app/forge_spec_clarifier.py Clarification dialogue structuré (software creator gap#7) spec ambiguë → questions ciblées → spec YAML formalisée detect_ambiguities, generate_questions, formalize_spec, ClarificationDialog 102
app/forge_spec_formalizer.py CONTRAINTE: Convertit spec BAML (texte) en stubs Python typés parse_baml_spec, generate_stubs 141
tools/_invalidate_dt_model.py Invalide le modèle DT sauvegardé (FEATURE_DIM 34→35) — 10
tools/ast_surgery.py Injection chirurgicale de type hints via AST ==================================================================== Au lieu de demander au LLM de réécrire tout le fichier (troncation), on extrait les signatures sans corps, on envoie au LLM, et on fusionne les an extract_signatures, count_nodes, merge_annotations, ast_surgery 242
tools/bench_chain.py A/B benchmark chain_executor pipeline pur (mock LLM) main 316
tools/bench_multithread.py Vrai bench multi-thread Python (vrai test free-threading) fib, workload_pure_python, workload_numpy, workload_ami_nmlp (+1) 176
tools/bench_qdrant_veracrypt.py Benchmark d'empreinte disque et latence mmap NVMe à travers VeraCrypt print_progress, generate_synthetic_chunk, run_benchmark 221
tools/check_gemini_inbox.py Check gemini inbox by rowid (insertion order) to avoid UTC/local timestamp issue — 31
tools/check_lazy_cycles.py Linter: verifie que tous les cycles d imports restent LAZY (dans fonctions), jamais au niveau MODULE collect_module_level_imports, check_cycles, main 83
tools/ci_local.py miroir LOCAL COMPLET des GitHub Actions marque_resume, phrase_non_mesures, verdict_bloc, verdict_suite (+13) 6238
tools/forge_aer_sparsity_bench.py FORGE_COLOR = "regulation/aer-evenementiel" BANC DE SPARSITE AER — chiffrer le gain evenementiel sur l'historique REEL main 253
tools/forge_archi_lint.py lint architectural Nokido via Semgrep (Golden Rules) main 163
tools/forge_ax17_backtest_job.py backtest DEPORTE de l'axe 17 (graphe de signaux) main 58
tools/forge_axis_backtest.py BACKTEST d'un axe de detection de regression commits_de_correction, fichiers_cibles, fichiers_py, blob (+10) 688
tools/forge_bench_all.py Benchmark exhaustif providers LLM (locaux + cloud free) post_json, bench_openai_compat, bench_ollama_native, main (+1) 348
tools/forge_bench_auto_trigger.py Auto-trigger promptfoo benchmarks on config/model file changes run_bench, parse_pass_rate, write_log, write_alert (+1) 134
tools/forge_bench_autotrigger.py Auto-trigger promptfoo benchmarks on hot-file changes BenchResult, run_bench, check_and_trigger 67
tools/forge_bench_beir.py Benchmark retrieval BEIR-style sur l'echantillon Nokido mesurer_capacite, main 347
tools/forge_bench_engine.py Bench du RAGEngine REEL (FAISS+BM25+RRF+rerank) main 121
tools/forge_bench_get_reranker.py Telecharge le GGUF du reranker bge-reranker-v2-m3 main 51
tools/forge_bench_groq_test.py Diagnostic acces cle groq pour le benchmark — 47
tools/forge_bench_http.py couche HTTP commune des runners de bench http_post 31
tools/forge_bench_hybrid.py Compare retrieval dense / BM25 / hybride RRF main 134
tools/forge_bench_misses.py Analyse des echecs de retrieval BEIR main 145
tools/forge_bench_questions.py Question-set BEIR via llama.cpp Vulkan (:8091) main 107
tools/forge_bench_rerank.py Benchmark retrieval dense vs dense+reranker main 195
tools/forge_bench_sample.py Echantillon stratifie du VRAI corpus Nokido main 85
tools/forge_bench_segment.py Metriques BEIR segmentees par type de gold main 125
tools/forge_bisect.py recherche binaire du commit coupable, sur critere REEL construire_commande, CompositionInstable, executer, main 266
tools/forge_capteur_dense_apport_bench.py Le flux RESEAU ajoute-t-il ce que les 4 scalaires n'ont pas ? Trois bancs ont montre que rien ne bat le seuil sur les vitals : ni un LIF regle, ni une tete lineaire apprise, ni le SpikingMLP de production entraine (perte finale 0,677 pour ln(2)=0,693 — il conv charger_reseau, traits_reseau, mesurer, main 191
tools/forge_cartouches_concordance.py les cartouches du README face aux clefs du coffre clefs_coffre, cartouches, concordance, main 176
tools/forge_ci_check.py etat de la CI apres push lignes_utiles, journal_echecs, tests_rouges, couverture_des_rouges (+7) 679
tools/forge_ci_lock.py le lock des outils de CI, et la RECONCILIATION avec l'installe normaliser, fermeture, hash_lock, rendu (+4) 315
tools/forge_ci_pin_actions.py Epingle les actions GitHub des workflows sur un SHA, au lieu d'un tag mobile main 127
tools/forge_ci_profil.py Profil et comparaison sequentiel/parallele de la suite pure de ci_local selection_pure, construire, bilan_junit, comparer_collecte (+1) 261
tools/forge_ci_proof.py transformer un verdict de CI en PREUVE PORTABLE hash_canonique, hash_plan, hash_contrat, empreinte_substrat (+5) 304
tools/forge_ci_quand_ram_dispo.py Attend que la RAM redescende, puis lance la CI main 160
tools/forge_ci_selection.py ne rejouer que les tests QUE LE DIFF PEUT AVOIR CASSES fichiers_modifies, liste_depuis_fichier, selectionner, etat_suite (+1) 215
tools/forge_ci_stop_hook.py Stop hook : surface le verdict CI de la branche en fin de tour main 169
tools/forge_council_bias_bench.py Banc de mesure : l'anonymisation change-t-elle le verdict de NOS juges ? Question posee RamInsuffisante, prompt_proposition, prompt_classement, campagne (+1) 342
tools/forge_cycle_verdict.py Certifier un cycle de dev collaboratif : le NR fait foi, pas le rapport de l'agent scorecard, empreinte, lire_junit, mesurer (+2) 221
tools/forge_demo_manus_feed.py workflow demo : declenche un orchestrate task et montre les events Manus 6-step streamer en live dans /forge/feed (:7400) main 130
tools/forge_demo_record_all.py record TOUS les workflow demos browser via Playwright record_video_dir, puis convert WebM -> GIF optimise via ffmpeg scene_debate, scene_swarm, scene_graph, scene_rag_stream (+6) 362
tools/forge_deno_check.py type-check d'un fichier Deno/TS via deno check main 114
tools/forge_deno_typecheck.py Typecheck des sources Deno AVANT restart du superviseur deno_path, check, main 98
tools/forge_dep_detector.py scan Python imports, detect missing packages scan_imports, check_installed, suggest_install, scan_dir 87
tools/forge_dep_manager.py Dependency graph analyser for Nokido forge_*.py modules build_dep_graph, detect_cycles, detect_missing, export_dot 76
tools/forge_docs_chemins_morts.py une page de doc ne renvoie pas vers du vide classer, scanner, main 185
tools/forge_docs_datation.py chaque page de doc DIT quand elle a ete revue date_du_dernier_commit, note, traiter, main 227
tools/forge_docs_relink.py reprefixe les liens RELATIFS d'un document deplace reprefixer, verifier, main 152
tools/forge_dup_detector.py duplication de code, par STRUCTURE empreinte, collect, est_adaptateur_entree, scanner (+2) 319
tools/forge_exporter.py ForgeProjectExporter — Pack de survie pour migration locale ForgeProjectExporter 289
tools/forge_generation_inscrire.py Inscrit les generations DEPOSEES dans l'arbre versionne inscrire, main 152
tools/forge_golden_rules_ast.py moteur NATIF des Golden Rules Nokido charger_apprises, scan_file, scan_source, collect (+1) 959
tools/forge_golden_state.py l'etat de REFERENCE, et de quoi mesurer sa derive relever, capturer, verifier, main 217
tools/forge_heldout_gate.py garde HELD-OUT pour le code auto-genere (Phi_T, Metal-Sci) freeze_fixture, check_embedder, validate_file, block_if_regressed (+1) 162
tools/forge_lecture_json.py Lecture d'un JSON en TROIS etats — LU / ABSENT / ILLISIBLE lire 44
tools/forge_mutation_classifier.py Classifieur ML de succès de mutation ==================================================================== Prédit si une mutation va réussir AVANT de la lancer MutationClassifier 395
tools/forge_mutation_predictor.py Classifieur ML de succès de mutation ================================================================== RandomForest entraîné sur experience_memory.jsonl (F1=0.937) MutationPredictor 304
tools/forge_mutation_test.py mutation testing natif : tester les TESTS executer, main 305
tools/forge_npu_bench.py Le NPU XDNA travaille-t-il VRAIMENT ? — banc de mesure, pas de declaration main 191
tools/forge_npu_static_bench.py Le NPU refuse-t-il le modele a cause de ses formes DYNAMIQUES ? Dix variantes (2 SDK x 5 firmware/overlay) rendent toutes le debit du CPU pur, warmup <= 2 s : la chaine ne partitionne jamais vers les tuiles AIE main 190
tools/forge_nr_instables.py rejoue N fois des NR cibles et NOMME ceux dont le verdict change issues_junit, comparer, rejouer, main 111
tools/forge_nr_socle.py gele la dette de tests existante, pour ne plus l'aggraver modules, main 59
tools/forge_post_commit.py Automatisation post-git-commit Nokido ==================================================================== Déclenché par .git/hooks/post-commit après chaque commit modules_a_instrumenter, should_use_hub, reponse_refusee, get_changed_files (+4) 856
tools/forge_pypi_amorce.py le namespace doit etre atteignable DES LE DEMARRAGE a_une_amorce_racine, candidats, traiter, main 235
tools/forge_pypi_codemod.py PHASE 5 : reecrire les imports plats, par FAMILLES carte_modules, cible_namespace, rediriger_cible, decider (+2) 383
tools/forge_pypi_contrat.py ce que « Nokido est installable depuis PyPI » veut dire temoin_publication_vierge, gate_testpypi, verdict_vierge, trancher (+4) 241
tools/forge_pypi_patch_tests.py rendre leur PRISE aux tests qui simulent une panne carte, jumeau, viser_la_cible, fichiers_candidats (+2) 342
tools/forge_pypi_prototype.py PHASE 4 : prouver la CHAINE avant de migrer le corps semer, verdict_prototype, main 260
tools/forge_pypi_prototype_layout.py PHASE 4b : le layout REEL, sans deplacer un fichier semer, verdict_layout, main 316
tools/forge_pypi_wheel.py construire la distribution, puis l'OUVRIR fuites, preparer_source, paquets_declares, paquets_de_la_wheel (+2) 250
tools/forge_qdrant_bench.py banc qualite AVANT de basculer la recherche sur Qdrant main 111
tools/forge_quality_gate.py Quality check statique d'un fichier Python quality_check 79
tools/forge_reconcile_test.py =================================================== Step 5 de la réconciliation registres providers (Option B) t_imports, t_router_no_phantom, t_router_status, t_admin_canonical_merge (+6) 119
tools/forge_recover_from_branch.py recuperer un fichier d'une branche main 70
tools/forge_rename_debt_inventory.py INVENTAIRE READ-ONLY de la dette du renommage LaForge -> Nokido walk, read, rel, main 186
tools/forge_repo_lang_stats.py Octets trackes par langage (ce que voit linguist) main 45
tools/forge_repro_temoin.py P4_REPRO_WITNESS — ce qu'un inconnu obtient vraiment en clonant ce depot rediger, classer_echec_install, construire 232
tools/forge_restore_from_revert.py reprend ce qu'un revert a emporte PAR ERREUR blocs_supprimes, point_insertion, main 151
tools/forge_retire_artefact.py retirer un artefact NON TRACKE, sans le detruire main 120
tools/forge_ruff_quick.py Run ruff check + stats privileged (bypass sandbox subprocess block) main 36
tools/forge_scalene_demo.py Cible de DEMONSTRATION pour scalene — a profiler, pas a importer boucle_cpu, alloc_memoire, calcul_numpy, main 49
tools/forge_scalene_optimize.py l'optimisation IA de scalene, EN CLI SOUVERAIN main 338
tools/forge_snn_entraine_vitals_bench.py Le SNN ENTRAINE bat-il le seuil sur les vitals reels ? (mesure manquante) Ce que les bancs precedents ont fait, et pourquoi ca ne suffisait pas main 191
tools/forge_stream_mutation.py _V1 ========================================================== Streaming live du ParallelMutationWorker avec : - Ring buffer (50 lignes max) - Filtre sémantique sur tags [AST:OK] [RESULT:*] [BILAN] etc poll_state, print_state, stream_worker, main 244
tools/forge_suite_pure_triage.py qui, parmi les tests exclus, pourrait rentrer ? POURQUOI trier, valider, main 186
tools/forge_suite_pure_valider.py execute chaque candidat SEUL, ecrit le verdict main 58
tools/forge_tenns_multicanal_bench.py TENNs multi-canal : la correlation entre canaux bat-elle un seuil par canal ? La question laissee ouverte le 2026-08-04 selectionner_canaux, stats_robustes, traits, cibles (+7) 384
tools/forge_vitalite_inscrire.py Inscrit le registre de vitalite DEPOSE dans l'arbre versionne main 150
tools/forge_wasm_selftest.py vérifie la voie wasm NATIVE de forge_wasm_cervelet main 45
tools/forge_wiki_align.py aligne les noms de modules ET de commandes du wiki sur le code scripts_declares, commandes_sures, main 121
tools/forge_wip_rescue.py Snapshot NON-DESTRUCTIF de tout l'uncommitted (tracked + untracked) vers une branche wip/rescue-, SANS toucher au working tree ni à l'index réel main 67
tools/forge_worktree.py isolation PHYSIQUE par agent (git worktree) = fin du clobber multi-surface create, proof_path, create_scratch, create_proof (+7) 319
tools/generate_stub.py Génère les signatures (squelette) d'un fichier Python generate_stub 41
tools/hook_posttool_validate.py PostToolUse hook (Write|Edit) main 128
tools/nokido_cutover_verify.py GATE de securite du rename protege count, main 81
tools/nr_reporter.py Rapports NR persistants + ingestion RAG ========================================================= Chaque run_fast() / run_all() produit : 1 NRSuiteResult, NRReport, NRRunner 421
tools/test_software_creator_e2e.py Pipeline software creator E2E test stage1_spec_clarifier, stage2_generate_and_write, stage3_quality_gate, stage4_commit_guard (+1) 420
tools/verify_gain_gate.py vérif RÉELLE du gain-gate sur un vrai fichier main 48

Observabilite/Trace

109 modules · 31,456 lines

Module Definition Public API LOC
app/forge_anatomy_state.py Snapshot état anatomique Nokido pour Deno WebHub get_anatomy_state 617
app/forge_audit.py orchestrateur Ultra-Review local (ForgeAudit) changed_lines_from_diff, enclosing_targets, run_forge_audit 89
app/forge_audit_log.py Phase 29 (2026-05-25) Audit append-only + W3C trace_id init_db, gen_trace_id, gen_span_id, parse_traceparent (+5) 226
app/forge_audit_personas.py system prompts des 4 prismes ForgeAudit (Ultra-Review local) build_persona, all_personas 117
app/forge_audit_reducer.py filtre déterministe anti-hallucination + agrégation (ForgeAudit) symbol_matches, reduce_findings, render_markdown 108
app/forge_audit_worker.py worker de revue READ-ONLY (ForgeAudit) audit_file 38
app/forge_conversation_logger.py Mémoire conversationnelle vivante Sprint : système nerveux — capture des échanges humain↔agent PRINCIPE AUTOPOÏÉTIQUE : Un organisme qui ne se souvient pas de ses interactions avec son environnement ne peut pas évoluer log_turn, get_context_window, search_past_exchanges, get_session_stats 276
app/forge_db_observatoire.py rendre VISIBLE ce que chaque requete coute ConnexionObservee, ouvrir, bilan, lire_journal (+1) 300
app/forge_events.py CONTRAINTE: header HD batch on_button_pressed, poll_tui_notifications, action_copy_full_log, on_list_view_selected 516
app/forge_execution_tracer.py Phase 0 init_db, record_trace, get_traces, count_traces 172
app/forge_langfuse_hook.py émission fail-open des appels LLM vers Langfuse emit, status 123
app/forge_lifecycle_audit.py journal UNIQUE des actions de cycle de vie de Nokido record, tail 168
app/forge_logging.py CONTRAINTE: header HD batch ecrire_sans_bloquer, debug_log, PoseNonBloquante, installer_logging_non_bloquant 475
app/forge_m2m_conformance.py compteur de conformite M2M (OBSERVATION SEULE) pointer_statut, noter, etat, reinitialiser 203
app/forge_mermaid_gen.py CONTRAINTE: header HD batch validate_mermaid, generate_mermaid, generate_mermaid_async, svc_generate_mermaid 279
app/forge_metrics.py CONTRAINTE: header HD batch LLMMetric, MetricsCollector, get_collector 283
app/forge_performance_tuner.py CONTRAINTE: header HD batch get_http_session, prefetch_dns, get_cached_mcp_def, cache_mcp_def (+2) 135
app/forge_port_callers.py FORGE_COLOR = "regulation/qui-appelle-quoi" QUI APPELLE QUOI -- attribution des connexions locales a leur service appelant echantillon, canaux, rapport 241
app/forge_port_reconcile.py Termine les processus qui ecoutent un port revendique par le superviseur sans etre le pid revendique ni l'un de ses descendants run_cycle 136
app/forge_sensor_fusion_probe.py FORGE_COLOR : proprioception / observabilite (organe, READ-ONLY) ORGANE : FUSION MULTI-CAPTEURS — « ce service est-il vivant ? » demande a TROIS sources, et NOMME leurs desaccords au lieu de trancher en silence probe, probe_all, coverage 546
app/forge_service_capabilities.py FORGE_COLOR : proprioception / SSoT (organe, READ-ONLY) ORGANE : QUE PORTE CE SERVICE ? — la source qui manquait capabilities_of, is_critical, why_critical, nature_de (+5) 329
app/forge_signal_atlas.py ATLAS DU CABLAGE : module -> signal -> module frontiere, atlas, receveur_declare, findings (+5) 923
app/forge_signal_coupling.py Couplage EMETTEUR <-> CONSOMMATEUR : detecter les signaux orphelins emit_signal, emetteurs, transduce_signal, observe_signal (+4) 570
app/forge_span.py context manager span() : call-flow IMBRIQUÉ, souverain current_span_id, span, traced 179
app/forge_timecode.py CONTRAINTE: docstrings Args/Returns/Raises now_iso, stamp_line, stamp_row, configure_logging (+5) 639
app/forge_tool_efficiency.py Comparaison périodique d'efficacité des tools metrics_token_usage, metrics_network_log, detect_degradations, rank_by_use_case (+2) 265
app/forge_trace_spine.py CONTRAT DE PROVENANCE des traces — l'etape qui doit preceder toute centralisation Provenance, declarer, Relation, est_causale (+11) 724
app/forge_videur_audit.py vue d'audit AGREGEE du videur (OBSERVATION SEULE) noter, vue, reinitialiser 295
tools/_dump_batch13_full.py Dump full result text for each unique agent from batch13 — 36
tools/audit_ui_consistency.py Audit cohérence graphique : chaque page d'interface tuilée charge-t-elle le DS unifié (nokido.css / tokens lf- / --bg-0) ? Login admin (cookie serveur) sonde 143
tools/audit_ui_endpoints.py câblage RÉEL des GUIs (démo-vs-fonctionne) — 82
tools/forge_alignment_shadow_audit.py Harness d'audit sémantique & alignement SHADOW run_audit 303
tools/forge_alignment_trace.py P1 du homeostat axiologique : observabilite des flux internes auto-generes (service mesh d'alignement, le CAPTEUR) emit, emit_introspection, recent, emit_fail_count (+2) 193
tools/forge_arbitre_entrees_audit.py A0-3 — chaine de preuve des ONZE entrees de arbitrer_pression audit, journal, main 328
tools/forge_archaeology.py archeologie fonctionnelle (Phase 1, LECTURE SEULE) head_basenames, deleted, classer, main 187
tools/forge_archaeology_conversations.py Phases 3 & 4 : intentions <-> code <-> archeologie phase3_intentions, crosswalk, main 186
tools/forge_archaeology_enrich.py Phases 2 & 5 : que faisait chaque vestige, et lequel vaut d'etre recupere enrichir, main 200
tools/forge_archeo_socle.py socle commun des outils d'archeologie et d'audit git, git_rc, bruit_motifs, est_bruit (+8) 208
tools/forge_audit_copies_hors_depot.py Audit des EXECUTABLES hors depot — ce que C:\tmp peut piloter en silence lignes_de_docstring, repli_declare, code_de_sortie, scanner_references (+2) 406
tools/forge_audit_findings_validate.py Valide les artefacts d'audit contre le validateur du skill Cloudflare outillage_disponible, valider_fichier, recenser, main 196
tools/forge_audit_perimetre.py materialise un perimetre d'audit ATTRIBUABLE sha_courant, fichiers_du_sha, divergents, materialiser (+1) 180
tools/forge_audit_sortie_bornee.py FORGE_COLOR = 'immunitaire/egress' forge_audit_sortie_bornee — enveloppe qui EMPECHE structurellement un outil d'audit de faire sortir une donnee issue du contenu brut d'un artefact sensible FuiteRefusee, est_empreinte, est_nom_de_cle, borner (+1) 167
tools/forge_bench_corpus_audit.py Audit composition du tier chaud du RAG categorize, main 77
tools/forge_body_regulation_audit.py AUDIT D'AUTOREGULATION, module par module load_organ_map, load_supervision, scan_imports, scan_references (+5) 759
tools/forge_capability_audit.py le README declare, le CODE decide c_nom_paquet, c_entrypoints, c_extras, c_taille_corpus (+16) 832
tools/forge_capability_contracts.py contrat par capacite de la surface Nokido verifier_une, verifier, main 170
tools/forge_capability_crosswalk.py CAP-* : une capacite, ses quatre preuves croiser, actions_prouvees, annotation_preference, main 365
tools/forge_capability_execution_trace.py ou meurt une capacite provider tracer, main 131
tools/forge_capability_freshness.py Fraicheur des observateurs de capacite -- rejoue les instruments EXISTANTS lancer, main 116
tools/forge_capability_lineage.py Phase 7 : LIGNEE de chaque constituant evenements, analyser, main 267
tools/forge_capability_ratchet.py cliquet de CAPACITES sur la matrice observee mesurer, main 411
tools/forge_capability_recovery.py remonter les capacites perdues sha_suppression, decrire, recuperer, main 216
tools/forge_config_refs_audit.py traque les REFERENCES MORTES dans les configs scan 189
tools/forge_constituent_archaeology.py Phase 6 : archeologie des CONSTITUANTS est_depot, noms_vivants, supprimes, classer_constituant (+4) 407
tools/forge_deadzone_scan.py audit des ZONES MORTES du joignable (skills/hooks) scan_skills, scan_hooks, scan, main 132
tools/forge_demo_anatomy_stress.py workflow demo : declenche un stress hormonal (adrenaline + cortisol) et montre /anatomy (:7400) reagir en live main 117
tools/forge_directive_audit.py consignes owner données en session mais JAMAIS consignées messages_owner, empreinte, directives, couverture (+2) 471
tools/forge_docs_port_annotate.py annote les docs qui citent un port ARRETE ports_muets, encadre, traiter, main 142
tools/forge_effet_reel_audit.py l'ecart entre un mecanisme et son EFFET signaux_sans_emetteur, compter_services, interrupteurs_sans_motif, artefacts_a_preexister (+6) 441
tools/forge_embolie_scanner.py FORGE_COLOR : observabilité / SN végétatif (diagnostic anatomique) forge_embolie_scanner — SCANNER D'EMBOLIES par SYSTÈME ANATOMIQUE scan, main 192
tools/forge_engrid_audit.py Audit forge_engrid_bridge.py + forge_engrid_engine.py integration audit_imports, audit_fallback, audit_task_mapping, audit_engrid_engine (+1) 107
tools/forge_event_mesh_audit.py Audit event bus existants pour event_mesh roadmap scan_python_event_buses, scan_deno_event_buses, estimate_event_throughput, detect_redundancy (+2) 200
tools/forge_fast_logger.py Logger haute performance non-bloquant pour Nokido ========================================================================= Remplace les print() synchrones dans les boucles d'évolution par un système bufferisé + thread dédié qui n'interrompt jamais l'inférence FastForgeLogger, get_fast_logger 228
tools/forge_feature_checklist.py la CHECKLIST des fonctionnalites EXPOSEES, verifiee add, section_cli_entrypoints, section_cli_nokido, section_tools_cli (+10) 1144
tools/forge_full_audit.py AUDIT COMPLET consolide de Nokido (owner 2026-07-24) audit 204
tools/forge_history_census.py Phase 7 : census de l'HISTOIRE (pas des cadavres) decouvrir, censer, focus, main 393
tools/forge_log_surface.py CENSUS de la surface d'observation de Nokido — ce qu'on peut voir, et d'ou census, fusion, main 309
tools/forge_m2m_audit.py Qui touche agent_messages, et sur QUELLE base — lecture seule classer, auditer, main 92
tools/forge_module_cards.py Proprioception COMPORTEMENTALE (couche statique) sig_of, card_for, build_cards, load_cards (+6) 416
tools/forge_module_census.py Census anatomique des modules Nokido nature, organ, purpose, loc (+2) 485
tools/forge_module_wiring.py chaque module : DEFINI, BRANCHE, TESTE modules, scanner, main 429
tools/forge_mpc_seed_traces.py amorce N transitions self-play synthetiques main 118
tools/forge_nosology.py NOSOLOGIE de Nokido : symptome -> pathologie -> gravite -> remede, et la douleur recoit une GRAVITE au lieu d'un mot classify, escalate, triage, main 252
tools/forge_observatory.py Neural Swarm Observatory : node-graph LIVE du flux de réflexion Nokido (inspiré Netron : DAG layout propre) main 171
tools/forge_organ_declare.py Declarer l'organe d'un lot de modules (__FORGE_COLOR__), en masse et sans casser organe_reconnu, point_insertion, declarer, main 198
tools/forge_organ_smoke_audit.py audit d'INTEGRATION des organes check, main 130
tools/forge_orphan_branches.py le patrimoine coince dans les branches decouvrir, principale, analyser, recenser (+1) 141
tools/forge_otel_export.py export OTLP des spans Nokido → Jaeger (Gantt distribué) export_span, status 103
tools/forge_patch_router_observation.py Poser l'observation du routeur shadow SUR SON CANAL — handle_rag action=search main 94
tools/forge_pip_audit_mesure.py Produit un rapport pip-audit DATE, la ou le reseau existe enveloppe_meta, envs_a_auditer, tous_les_envs, main 446
tools/forge_probe_update.py Probe RCA writes fantomes (2026-07-06) : dans l'env exact du drain (py314 + run_job offline), un UPDATE rag_chunks matche-t-il ? SELECT 1 id -> UPDATE marqueur -> rowcount -> readback (meme conn + conn neuve) -> revert — 41
tools/forge_process_inventory.py QUI TOURNE, ET QUI FAIT QUOI collect, main 358
tools/forge_profiler_hooks.py profilers SUR ÉVÉNEMENT / À LA DEMANDE (jamais continu) profile_if_slow, treesitter_gate, uprof_snapshot, viztrace (+1) 173
tools/forge_pyspy_profiler.py profiling runtime du hub (saturation / timeouts) find_pyspy, cmd_install, get_hub_pid, cmd_check (+4) 269
tools/forge_recurrence_audit.py POURQUOI LES MEMES ERREURS REVIENNENT scan_corpus, scan_memoires, croiser, scan_sessions (+4) 793
tools/forge_repo_settings_audit.py Audit des reglages GitHub qui GOUVERNENT une branche — ce que le clone ne voit pas audit, protect_branch, set_meta, meta (+1) 366
tools/forge_route_authz_audit.py matrice d'autorisation des routes HTTP du hub classer_garde, classer_exposition, sonder_exposition, auditer (+4) 870
tools/forge_rules_deport_section.py deporter UNE section de regles hors du noyau resident decouper, trouver, deporter, main 209
tools/forge_service_import_check.py diagnostic NON-LEAK des services quarantinés : importe chaque module d'entrée (sans lancer le daemon) -> capture les bugs d'IMPORT (cffi, deps manquantes, syntaxe) main 40
tools/forge_stack_presence_audit.py inventaire PRESENCE + VIVACITE des capacites implementees (demande owner 2026-07-25 : « assure-toi que wasm ainsi que tout ce qui a ete implemente est bien present : qdrant, wasmedge, fts, mcts, bm25 etc ») probe_qdrant, probe_wasm, probe_fts, probe_bm25 (+4) 267
tools/forge_token_meter.py Compteur et Agrégateur de Dépense Tokens par CLI ======================================================================== Agrège en temps réel la consommation de tokens et les coûts (USD) par agent (CLAUDE, GEMINI, ANTIGRAVITY, CODEX...) à partir de la table t aggregate_by_agent, get_agent_usage, format_meter_report, main 145
tools/forge_trace_collector_rich.py collecteur PARALLÈLE de traces riches (text-first) init_db, run, reencode_pending 251
tools/forge_trace_convert_384.py convertit les anciennes traces 384d -> 1024d (pont) main 70
tools/forge_trace_replay.py AMI — Experience Replay: parse mcp_audit.log historical entries → execution_traces.db configurer_journal, parse_audit_log, build_transitions, main 230
tools/forge_trace_sidecar.py Phase A — AMI trace acceleration configurer_journal, demarrer, succes_de, main 470
tools/forge_trace_ui.py interface web SOUVERAINE de visualisation observabilité main 147
tools/forge_trace_unifiee.py tout ce qui entre et sort, et ce qu'on NE trace PAS main 200
tools/forge_trace_viz.py IRM fonctionnelle : call-flow RUNTIME depuis un trace_id exec_load_spans, exec_list_traces, exec_diag, load_spans (+7) 349
tools/forge_uprof_apu.py collecte des compteurs APU via AMD uProf CLI find_cli, cmd_check, cmd_collect, main 98
tools/forge_veille_audit.py audit DETERMINISTE des veilles passees (0 LLM, 0 token cloud) audit_watch_jobs, audit_biblio, main 205
tools/forge_veille_serving_audit.py SERVING AUDIT : prouver, source par source, qu'une veille est RECUPERABLE auditer_source, auditer 214
tools/forge_vitals_retro_join.py Retro-join : reconstitue les canaux EVENEMENTIELS sur l'historique DEJA ecrit charger_blackbox, charger_metriques, enrichir, main 267
tools/forge_wiki_modules.py reference des modules, GENEREE depuis le code sans_entete_machine, definition_du_module, collecter, organes (+14) 1014
tools/generate_autopoiese.py Carte Autopoïèse Nokido Chaque module code → analogie biologique, organisé en cycles de self-production system_center, avg_pos 352
tools/generate_body_anatomy.py Corps Nokido, A4 lisible Silhouette humaine + zones biologiques groupées, fontsize ≥9 body, organs, callout 477
tools/nokido_acl_observabilite.py Accorde aux trois comptes de service la LECTURE des journaux de prothese main 166
tools/nokido_nssm_path_audit.py quels services nomment le dossier du depot scan 147
tools/nokido_status.py Outil CLI montrant l usage de NokidoFacade print_section, cmd_domains, cmd_agents, cmd_rag (+4) 155
tools/nokido_statusline.py Statusline Nokido -- affiche la depense, et l'ENREGISTRE au passage main 231

Locomoteur/Orchestration

108 modules · 44,060 lines

Module Definition Public API LOC
app/forge_at_dispatch.py Implémente les commandes @ de la TUI Nokido et les expose dans la table AT_DISPATCH handle_at_ssh, handle_at_scan, handle_at_ids, handle_at_agentic (+6) 1370
app/forge_autonomous_orchestrator.py CONTRAINTE: header HD batch DAGNode, DAGGraph, DAGBuilder, OneMCPMultiplexer (+3) 498
app/forge_bounded_queue.py Bounded queue avec backpressure + leptin release BoundedQueue, EcrivainDiffere 299
app/forge_chain_executor.py Exécute en boucle les étapes des chaînes de veille stockées dans agent_chain_nodes ChainExecutor 1024
app/forge_cli_harness.py generic unattended harness for arbitrary CLI processes kill_tree, CliHarness, agent_bin, harness_for 309
app/forge_cost_module.py Phase 1 — AMI roadmap: Cost Module intrinsic_cost, intrinsic_cost_wired, task_cost, epistemic_cost (+2) 178
app/forge_dag_runner.py Nokido v18.5 ======================================== Exécution parallèle des plans agent_tasks en DAG DAGRunner, log_concurrent, execute_task_plan 255
app/forge_dispatch.py CONTRAINTE: header HD batch — 177
app/forge_dispatch_ai.py Route une saisie utilisateur de la TUI vers le chat rapide, le SmartRouter ou l'orchestrateur, affiche la reponse et injecte dans le terminal PTY la commande shell dispatch_ai 805
app/forge_dispatchers.py Branchage des organes réels sur forge_trajectory dispatch register_all 717
app/forge_durable.py durable execution (Temporal pattern) on Nokido SQLite DurableError, DurableWorkflow, recover_chain_nodes, run_steps (+1) 270
app/forge_edge_fleet.py Edge Inference Fleet POC register_edge, list_edges, sert_le_chat, recoit_le_world_vector (+16) 791
app/forge_goap_intuition.py heuristique d'INTUITION (Système 1) pour le planner GOAP keyword_affinity, intuition_rank, make_value_provider, default_embed_fn (+4) 264
app/forge_handoff.py FORGE_COLOR = "#fb923c" # orange — multi-agent handoff orchestrator forge_handoff — Minimal multi-agent Handoff orchestrator (Swarm pattern) ResourceExhausted, NoHealthyEndpoint, Agent, Transfer (+15) 1696
app/forge_handoff_compress.py context compression entre agents compress_for_handoff, format_compressed_for_prompt, main 267
app/forge_homeostasis_orchestrator.py Chef d'orchestre biomimétique Nokido FlowRegulator, tick, main 894
app/forge_job_runner.py backend partagé des jobs détachés longue-durée params_depuis_corps, launch_job, qualifier_fin, annoter_fiches (+4) 724
app/forge_jobid.py Phase 2.2 JobID standardization ================================================= "Hémoglobine" du Nokido generate_job_id, JobContext, trace_link, persist_job (+2) 220
app/forge_local_inference_pool.py pool d'inférence locale (ForgeSwarm M3) estimate_tokens, dynamic_n_ctx, make_openrouter_free_backend, warm_models (+3) 462
app/forge_lock_manager.py Phase 2.3 Lock Manager sémantique ========================================================== "Enzymes de régulation" du cytoplasme Nokido cle_workdir_agy, etat_holder, LockState, LockManager (+1) 473
app/forge_mutation_controller.py le KERNEL DE MUTATION (brief §6, §9, §11) ecarts_hors_bande, mesurer_apres, appliquer_et_mesurer, mesurer_apres_merge (+2) 497
app/forge_nlgraph_runner.py NLGraph Benchmark Runner for Nokido =============================================================== Tests LLM graph reasoning across 8 tasks of increasing complexity TestCase, GraphGenerator 209
app/forge_orchestration_gate.py classifieur de VOIE du Gate d'orchestration Lane, Action, Decision, classify (+3) 323
app/forge_orchestrator.py Nokido Engrid v3 · Couche 2 ====================================================== ForgeOrchestrator : chaîne complète multi-silos LatencyMetric, SiloResult, OrchestratorResult, PromptSegmenter (+3) 811
app/forge_orchestrator_scaller.py CONTRAINTE: auto-tuning Nokido base sur metriques mesurables, aucune application automatique Recommendation, scan, scan_and_store, list_pending (+3) 842
app/forge_plan_validator.py Nokido v18.5 ======================================== Validation stricte des plans agent_tasks PlanValidationResult, PlanValidator, get_plan_validator 277
app/forge_pluripotent_workers.py Cellules souches logicielles différenciables Role, PluripotentWorker, main 342
app/forge_prefect.py CONTRAINTE: +0 PrefectManager 513
app/forge_promotion_queue.py CONTRAINTE: header HD batch PromotionItem, restore_from_db, PromotionOrchestrator, get_orchestrator (+3) 602
app/forge_python_runner.py Pool de workers Python pre-warmed ========================================================== Remplace subprocess.run([python, "-c", code]) par un pool de workers long-lived PythonRunner, get_runner, shutdown_runner 378
app/forge_python_runtime.py Python runtime introspection (3.12 / 3.13 / 3.14 / 3.14t) runtime_summary, recommended_worker_count, check_gil_state, install_runtime_audit (+3) 189
app/forge_python_worker.py Worker subprocess pour PythonRunner ============================================================ Process long-lived qui execute du code Python via JSON-RPC sur stdin/stdout main 158
app/forge_runner.py CONTRAINTE: fix bridge import dans status() spawn, status, run_sync 198
app/forge_runtime.py Relie Nokido au sidecar brain_worker (ZeroMQ, tcp://127.0.0.1:5557) pour embeddings, generation, tree-sitter et memoire courte, et adapte le VersionManager externe BrainClient, OnnxEmbedder, OnnxGenerator, init_onnx_backend (+17) 1240
app/forge_runtime_observer.py ORGANE SENSORIEL en lecture seule observer, observer_tout 204
app/forge_scorecard.py bulletin d'evaluation multidimensionnel ExecutionState, QualityGrade, ScoreMetrics, Scorecard (+8) 638
app/forge_silo_engine.py Siloed Reasoning Engine v1.0 ======================================================== Nokido comme Cerveau Souverain : décompose une intention en silos indépendants, chacun assigné au meilleur modèle local sans jamais exposer le contexte global SiloDomain, Silo, SiloTask, KnowledgeGuardian (+3) 1066
app/forge_swarm.py CONTRAINTE: header HD batch SwarmState, broadcast, make_broadcast_listener, SwarmStateMachine (+4) 604
app/forge_swarm_agents.py Catalogue d Agents specialises par provider+use-case key_present_for, code_groq, code_cerebras, code_sambanova (+14) 405
app/forge_swarm_blackboard.py Tableau noir zoné souverain du swarm init_db, apply_fact, apply_fact_sync, read_zone (+2) 435
app/forge_swarm_bus.py bus side-channel des événements de collaboration swarm subscribe, unsubscribe, publish, subscriber_count 138
app/forge_swarm_context.py contexte STÉRILE par worker (ForgeSwarm, M1) ScopeViolation, sterile_read, assert_writable, build_worker_context 123
app/forge_swarm_evidence.py le swarm compte des PREUVES, pas des voix classer_erreur, strategie_reprise, famille_modele, groupe_independance (+5) 405
app/forge_swarm_orchestrator.py orchestrateur Map-Reduce (ForgeSwarm M5) run_forge_swarm 100
app/forge_swarm_patch.py Search/Replace applier + VFS overlay (ForgeSwarm) PatchError, parse_sr_blocks, apply_sr, VFSOverlay 160
app/forge_swarm_router.py SERVING : Couche de routage Swarm (intelligence x cadre) route_subtask, score_de, cout_de, gain_collectif (+1) 422
app/forge_swarm_team.py CONTRAINTE: header HD batch Participant, SwarmTeam, LeadOrchestrator, get_team (+2) 1167
app/forge_swarm_validator.py Gatekeeper pré-vol déterministe (ForgeSwarm M0) validate_swarm_plan 136
app/forge_swarm_worker.py worker éphémère (ForgeSwarm M2) run_worker 109
app/forge_tag_dispatch.py route a task to fleet peers chosen by label/purpose dispatch, main 85
app/forge_task_bus.py CONTRAINTE: Args/Returns/Raises ensure_schema, create_task, inject_rag_context, claim_task (+11) 696
app/forge_task_queue.py File d attente persistante pour les rôles ================================================================ Remplace l envoi de 18 tâches en batch par un système de queue enqueue, enqueue_many, queue_status, get_results (+3) 309
app/forge_task_router.py v2 - Orchestrateur taches zero-token Claude Exploite TOUS les providers Nokido disponibles status, select_provider, route 468
app/forge_trajectory.py Structured Agentic Trajectory Implémentation du pattern JSON-RPC inter-agent strict (vs prose chatbot) IntentValidationError, parse_intent, validate_intent, correction_prompt (+9) 633
app/forge_transient_executor.py PREMIER executor deterministe de preuve capacite_de, etat_llm_local, executer, verifier 442
app/forge_viable_system.py Organisateur cybernétique (VSM) + orchestrateur multi-pool level_of, assign_provider, plan_orchestration, publish_plan (+7) 337
tools/_batch10_send.py Batch 10 — 54
tools/_batch11_send.py Batch 11 — T8 nervous_system, T6 graph-dim verify, graph improvements, TUI, GOAP — 155
tools/_batch12_send.py Batch 12 — 84
tools/_batch13_send.py Batch 13 send 177
tools/_batch5_send.py Batch 5 — 68
tools/_batch6_send.py Batch 6 — 84
tools/_batch7_send.py Batch 7 — 80
tools/_batch8_send.py Batch 8 — 111
tools/_batch9_send.py Batch 9 — 23
tools/_batch_send.py One-shot: send batch 4 of delegation tasks — 80
tools/_run_batch11.py Run batch11: git commit sambanova fix + dispatch all tasks — 19
tools/_wait_batch13.py Wait until all 9 batch13 tasks have a result, then print summary — 50
tools/delegate_tasks.py Délègue les tâches CTF paliers + embed aux LLMs appropriés via hub hub 102
tools/fast_test_runner.py FORGE_PERF_TEST_V2 ================================================ Selective Regression Testing (SRT) + Streaming + Chaînage mutations Stratégies : 1 get_changed_files, select_tests_from_diff, run_tests, chain_mutations (+2) 356
tools/forge_ami_strategist.py coordinateur AMI subtasks via swarm Subtask, hub_ask, build_prompt, extract_first_block (+2) 674
tools/forge_benchmark_runner.py Golden Dataset benchmark runner dispatch_task, poll_result, score, run 233
tools/forge_bfcl_runner.py Berkeley Function Call Leaderboard v4 runner pour Nokido ensure_dataset, call_llm, run 830
tools/forge_circadian_runner.py declenche la phase circadienne courante main 85
tools/forge_cli_swarm.py Swarm multi-CLI SOUVERAIN, appelé depuis Nokido swarm, main 126
tools/forge_collective_gain.py ce que le collectif APPORTE, et ce qu'il RETIRE verificateur_humaneval, mesurer, agreger, main 216
tools/forge_demo_runner_admin_ui.py paced Playwright headed demo of /admin/providers for screen recording (ScreenToGif, ShareX, Win+G) main 144
tools/forge_demo_runner_debate.py ouvre /forge/debate dans Chromium headed, les 3 providers (ollama_local / groq / cerebras) repondent en parallele au meme prompt, panneaux side-by-side affichent en typewriter main 53
tools/forge_demo_runner_hub_tour.py paced Playwright headed tour de toutes les UI graphiques Nokido atteignables, pour screen recording scene_providers, scene_rag, scene_network, scene_watch (+3) 207
tools/forge_demo_runner_terminal.py paced Nokido terminal demo for screen recording banner, typed, seq_intro, seq_health (+5) 228
tools/forge_durable_workflow.py PoC durable execution event-sourced (replay-on-restart) WorkflowPaused, WorkflowStore, WorkflowContext, durable_run (+1) 186
tools/forge_dynamic_tool_runner.py Runner ISOLÉ pour outils forgés (sandbox-forced-default) main 48
tools/forge_fleet_router.py routeur de flotte Nokido (role-clustering + Context Anchoring) Node, FleetRouter, main 173
tools/forge_goap_hub_bridge.py GOAP planner wired to Nokido hub MCP API Goal, Action, GOAPPlanner, read_task_scorecard (+2) 564
tools/forge_goap_online_launch.py exécute le planner GOAP en contexte RÉSEAU + DB-write pour que (a) le value_net ONLINE (HF MiniLM 384D aligné) soit live dans l'intuition, (b) les trajectoires soient PERSISTÉES dans execution_traces.db (keystone self-play) plan_online, run_and_record 99
tools/forge_handoff_worker.py worker AUTONOME de dispatch multi-agents (py314t) taille_pool, free_threading_actif, valider_enveloppe, depiler_postal (+3) 280
tools/forge_harness_worker.py fleet worker that drives real CLI agents via the harness process_job, main 187
tools/forge_humaneval_runner.py HumanEval benchmark runner pour Nokido ensure_dataset, call_llm, run 891
tools/forge_mutation_ratchet.py cliquet de mutation sur les surfaces critiques mesurer, main 223
tools/forge_mutation_run.py lanceur de la boucle d'auto-amelioration main 129
tools/forge_orchestrate_loop.py Autonomous agentic loop via GOAP Uses forge_goap.GoalPlanner + execute_plan + hub dispatch durable_run_status, run_loop 347
tools/forge_orchestrate_react.py ReAct agentic loop for Nokido Uses Ollama qwen3:8b with native function calling get_tools_schema, run_react 154
tools/forge_planbench_runner.py PlanBench benchmark runner pour Nokido BWState, ensure_dataset, call_llm, run 639
tools/forge_purge_redteam_runtime.py Purge du runtime offensif residuel — inventaire d'abord, retrait ensuite inventaire, appliquer, main 313
tools/forge_reflexion_cli.py Visu CLI live du FLUX DE RÉFLEXION Nokido main 187
tools/forge_runtime_smoke.py le hub DEMARRE-t-il, et REPOND-il ? La chaine de publication prouve qu'un paquet s'installe, s'importe et que ses entrypoints repondent smoke, main 257
tools/forge_scorecard_judge_job.py batch judge pour Scorecards UNRATED scan_unrated, judge_one, main 143
tools/forge_strategy_swarm.py planification multi-swarm SOUVERAINE d'une stratégie "vivre le corps" run, main 132
tools/forge_swarm_debate.py débat SWARM 3 tours, pool de spécialistes diversifiés main 119
tools/forge_swebench_lats_runner.py runner SWE-bench avec stack LATS process_instance, run_generate_lats, main 1288
tools/forge_swebench_runner.py SWE-bench runner pour Nokido ensure_dataset, call_llm, generate_patch, generate_patch_best_of_n (+4) 3084
tools/forge_task_executor.py Daemon executor pour tasks.db ============================================================= Poll tasks.db WHERE status='pending', dispatche via hub ask tool, écrit résultat + marque completed ensure_lease_schema, touch_progress, reclaim_expired, est_refus_du_modele (+3) 1502
tools/forge_terminal_bench_runner.py Terminal-Bench 2.0 pour Nokido call_llm, run_task, run 891
tools/forge_turbo_runner.py Exécuteur de tests parallélisé pour Ryzen 8700G ======================================================================== Utilise pytest-xdist pour distribuer les tests sur les 8 cœurs (16 threads) du Ryzen 8700G run_turbo, main 245
tools/hook_gate_orchestrator.py Gate d'orchestration muet (Phase B) main 52
tools/hub_swarm_patch.py Patch Hub : route /swarm + /team ============================================================= Expose l état du swarm et la config team en temps réel via le Hub patch_app 167
tools/patch_trajectory_offensive_redteam.py Sort les intents OFFENSIFS (ring >= 3) du coeur (owner 2026-09-26) main 123
tools/resume_chain.py Resume chain nodes by chain_id — 44

Metabolisme LLM (routage/backends)

94 modules · 34,271 lines

Module Definition Public API LOC
app/forge_agent_proxy.py CONTRAINTE: RPC multi-provider inter-agents via MCP app/forge_agent_proxy.py - RPC agent-to-agent avec registry providers extensible Provider, ClaudeOpenRouter, ClaudeGitHub, Gemini (+55) 3799
app/forge_artificialanalysis.py Wrapper API ArtificialAnalysis.ai ================================================================ Fetch metrics fraiches pour modeles LLM (pricing, speed, quality scores) depuis https://artificialanalysis.ai/api-reference fetch_llms, get_model_metrics, get_provider_metrics, get_pricing (+9) 493
app/forge_baml_adapter.py LLM structured outputs avec retry intelligent structured_call, main 227
app/forge_cache_aligner.py Stabilisation de PRÉFIXE pour HIT le prompt/KV cache des providers (OpenAI-compat via litellm : groq/cerebras/mistral/openrouter/github = prefix-cache AUTOMATIQUE ; le hit ne dépend QUE de la stabilité byte-à-byte du préfixe) stabilize, prefix_hash, align, align_messages (+1) 169
app/forge_cascade_oracle.py Oracle CE pour décision S1/S2 ========================================================= Implémentation de la décision hybride basée sur le score CrossEncoder RetrievalResult, CascadeOracle 352
app/forge_coagulation_cascade.py Isolation localisée des crashes workers (cascade fibrinogène) detect_breaches, capture_state, open_clot, check_embolie (+4) 353
app/forge_cognitive_router.py CONTRAINTE: header HD batch build_proactive_system, prune_rag_context, route_task 521
app/forge_contract_net.py Élection de worker style Contract-Net (switchboard backlog) collect_bids, elect_worker 123
app/forge_conv_indexer.py Indexation conversations CLI (Claude, Gemini, AGY, Codex) dans RAG ========================================================================================== Transforme les sessions JSONL/JSON des CLIs en chunks RAG searchables racines_couvertes, fichiers_couverts, iter_claude_chunks, iter_agy_chunks (+16) 1192
app/forge_distiller.py CONTRAINTE: +0 docs Distiller, get_distiller, distill, ring_from_token 325
app/forge_dspy_router.py DSPy Signatures pour rendus structures signature_call 180
app/forge_dt_router.py DT router: SpikeRouter SNN -> cognitive pipeline hookup DTResult, dt_route 75
app/forge_failsafe_router.py CONTRAINTE: SPOF Elimination (Hub bypass) FailsafeRouter 85
app/forge_frugal_cascade.py Cascade LLM small→large pattern FrugalGPT (Chen et al cascade, main 371
app/forge_ghost_router.py CONTRAINTE: header HD batch detect_task, GhostRouter, get_router, ghost_generate 481
app/forge_jwt_router.py Middleware JWT HS256 + routage par aud ============================================================ 4 piliers de sécurité : 1 has_perm, forge_frame_token, verify_frame_token, jwt_routing_middleware (+1) 218
app/forge_litellm_connector.py CONTRAINTE: +0 docs is_proxy_alive, complete, propose_via_connector, start_proxy 334
app/forge_litellm_router.py Façade litellm.Router (PR-C switchboard) build_model_list, build_router, get_router 99
app/forge_llamacpp.py Moteur LLM local via llama-cpp-python OU llama-server HTTP =============================================================================== Priorité 1 : llama-cpp-python pip (in-process) Priorité 2 : llama-server HTTP fallback (port 8080, Vulkan 780M) Config No get_llm, strip_think, is_available, llamacpp_call (+5) 442
app/forge_llm.py CONTRAINTE: header HD batch AgentType, ollama_parallel, IntentClassifier, looks_like_shell_command 548
app/forge_llm_budget.py budget_manager + cooldown_per_provider BudgetManager, wrap_llm_call, main 278
app/forge_llm_router.py CONTRAINTE: header HD batch — statut initial API ajoutee depuis le 2026-09-22 (premiere ligne de la docstring de chaque symbole) : - repli_oauth — AGY puis Claude Code quand la cascade est epuisee par la CAPACITE ; None si non permis ou si les deux echouent chaine_active, repli_oauth_autorise, repli_oauth, ProviderSlot (+6) 2093
app/forge_llm_router_dt.py Routeur LLM par DecisionTree sklearn ============================================================= Couche additionnelle AU-DESSUS de forge_task_router TextFeatureExtractor, predict, log_decision, update_provider_health (+2) 778
app/forge_llm_transport.py Socle commun de transport LLM Nokido v18.5 ==================================================================== Centralise les appels HTTP (urllib) vers tous les providers LLMTransport 250
app/forge_lmstudio.py CONTRAINTE: OpenAI-Compatible Bridge for LM Studio (Port 1234) lms_call, lms_stream, is_available 120
app/forge_md_router.py FORGE_COLOR = "#a78bfa" # purple — semantic router for Markdown docs Markdown Semantic Router for Nokido — BAML-backed lazy loader build_index, route_query, extract_adr, extract_spec (+4) 532
app/forge_npu.py CONTRAINTE: docstrings Google-style complets EP, NPUManager, OnnxEmbedderNPU, get_npu_manager (+1) 769
app/forge_npu_direct.py Wrapper direct ONNX VitisAI NPU (sans brain_worker ZMQ) encode 110
app/forge_oauth_mutex.py Mutex=1 STRICT pour les appels OAuth-CLI (anti-collision entonnoir Hub) lane_of, mutex_acquire, oauth_mutex 191
app/forge_ollama.py CONTRAINTE: header HD batch ollama_call, ollama_stream 313
app/forge_ollama_bridge.py CONTRAINTE: header HD batch build_capability_string, build_late_binding_doc, OllamaBridge, get_bridge (+1) 900
app/forge_openrouter.py CONTRAINTE: +0 budget_status, get_daily_usage, generate_code, generate_code_swarm (+3) 805
app/forge_perception_vlm.py Perception multimodale (VLM local via Ollama) get_vlm_model, capture_screen, analyze_image, scan_environment (+2) 320
app/forge_prompt_cache.py Prompt caching pour Nokido Anthropic (via OpenRouter) : cache_control = {"type": "ephemeral"} - Cache write : 1.25x base (TTL 5min) ou 2.0x (TTL 1h) - Cache hit : 0.10x base (-90%) - Min tokens : 1024 - TTL default : 5 min, se rafraichit a chaque hit Gemini (i build_cached_system, build_cached_messages, start_keepalive, stop_keepalive (+2) 242
app/forge_provider_admin.py Web UI admin pour LLM providers list_providers, set_provider_key, delete_provider_key, etat_des_acces (+17) 1111
app/forge_provider_alias.py la verite a UNE adresse : forge_agent_proxy.ask refus_de_resolution, resoudre, diagnostic 248
app/forge_provider_canonical.py ====================================================== SOURCE DE VÉRITÉ unique des providers LLM (Option B, tranchée par multiplan souverain 2026-06-09, B_module unanime) all_providers, provider, vault_key_for, vault_key_map (+2) 129
app/forge_provider_quota.py Quota tracker + cascade gate ======================================================= Suit la consommation par provider et bloque les appels qui depasseraient le quota mensuel (cf usage_this_month, usage_today, quota_status, check_quota (+5) 244
app/forge_provider_specs.py Catalogue specifications providers Nokido ===================================================================== Source de verite pour : - Tier (local / free / subscription_quota / paid_api) - Quota mensuel/quotidien (post 2026-06-15 Agent SDK quota) - Speciali get_spec, get_tier, is_free, is_subscription_quota (+6) 502
app/forge_provider_watcher.py Daemon surveillance providers (on-demand) Session 5 start, stop 104
app/forge_quota_manager.py Gestion dynamique quota Gemini CLI ============================================================ RÈGLE FONDAMENTALE : - 0% vu dans /model CLI = vraiment disponible (pool propre) - None (pas de logs) = inconnu → ne pas assumer disponible - 100% = épuisé → skip P fetch_live_quota, read_gemini_logs, get_pool_usage, is_available (+4) 262
app/forge_quota_tracker.py Tracker quota multi-provider unifie ============================================================= Recolte la metrique de quota/usage par provider depuis 3 sources : 1 record_response_headers, record_429, get_quota, get_all_quotas (+4) 555
app/forge_reconstruction_loss.py Validation de fidélité de reconstruction SAE-like calculate_jaccard, load_golden_tools, validate_and_adapt 122
app/forge_retry_strategies.py Strategies de retry LLM-aware pour Nokido =========================================================================== Trois additions a tenacity pour les appels cloud (Groq/Gemini/OpenRouter) : wait_retry_after : lit le header HTTP Retry-After de la reponse 42 wait_retry_after, wait_rpm_budget, retry_if_rate_limited, wait_exp_jitter (+1) 340
app/forge_router_gateway.py CONTRAINTE: header HD batch GenerateRequest, AcquireRequest, ReleaseRequest, TransferRequest (+5) 359
app/forge_self_mutation.py boucle d'auto-amelioration, remise en service fichier_protege, MutationGuard, MutationCycle 320
app/forge_semantic_route.py Routage sémantique text → use_case (bge-m3) build_centroids, semantic_route 200
app/forge_semantic_routes.py embedding route-matcher with threshold optimization Route, SemanticRouter, intent_router 220
app/forge_tokenizer.py Multi-provider tokenizer dispatcher count_tokens, available_tokenizers, display_summary 414
tools/_start_llamacpp.py Lance llama-server directement (sans NSSM admin) — 26
tools/auto_retrain_dt.py Retrain DT router si assez de nouvelles donnees main 79
tools/download_phi35.py Télécharge Phi-3.5-mini-instruct-onnx (variante DirectML) depuis HuggingFace — 37
tools/forge_ami_train_cycle.py 1 vrai cycle entrainement AMI prod run_cycle, main 171
tools/forge_anthropic_ingress.py ingress Anthropic Messages API (/v1/messages) -> Nokido health, list_models, messages, main 161
tools/forge_backend_power.py START / STOP / STATUS des backends LLM locaux (économie ressources) warm, status, start, stop (+7) 407
tools/forge_bitnet_loader.py Détecteur de modèles BitNet ternaire (1.58-bit) locaux detect_bitnet_models, suggested_llama_args, summary 140
tools/forge_card_summarize.py DEFINITIONS grounded des modules sans docstring targets, run, main 160
tools/forge_cli_route.py toggle ON/OFF du routage des CLI agentiques via les ingress Nokido cmd_status, cmd_toggle, cmd_isolate, cmd_launch (+1) 298
tools/forge_deep_doc_enricher.py Enrich docs/**/*.md + *.pdf into RAG with LLM metadata process_documents 191
tools/forge_endpoint_commun.py Socle commun des sondes d'endpoints — interroger, lister, trier requete, lire, catalogue, taille_apparente (+2) 95
tools/forge_endpoint_profiling.py Quelle est la SPECIALITE de chaque endpoint, et quel role lui confier ? Le routeur attribue aujourd'hui ses use_case par habitude : les chaines ont ete ecrites en avril et jamais confrontees a ce que les endpoints font REELLEMENT mesurer, role_propose, quota, main 190
tools/forge_hf.py Client Hugging Face SOUVERAIN Nokido whoami, upload, download, submit_job (+4) 161
tools/forge_hf_free_scan.py Hugging Face : le champ is_free existe-t-il, et que vaut-il pour nous ? Une analyse externe affirme que HF publie un champ is_free dans son catalogue de providers, qu'un compte gratuit recoit $0,10 de credits mensuels, et qu'un modele marque is_free ne l essayer, main 162
tools/forge_hf_providers_bge.py QUI sert reellement BAAI/bge-m3 derriere le routeur HF catalogue_siliconflow, main 144
tools/forge_hot_load_manager.py Gestion keep-alive Ollama + tracking quotas Cloud ============================================================================== Maintient les modèles locaux "chauds" en VRAM pour éliminer le cold-start (~5s) et surveille les quotas Free Tier des APIs cloud (G ProviderQuotaTracker, ForgeHotLoadManager, get_hot_load_manager 439
tools/forge_kv_keepalive.py KV Cache Keep-alive OpenRouter ============================================================== Envoie un ping léger toutes les 30s pour maintenir le contexte du modèle chaud côté serveur OpenRouter start_background, stop, status 222
tools/forge_llama_keeper.py Lifecycle ON-DEMAND du modèle local llama-server (mirror forge_docker_keeper : monitor-only + on-demand) tick, main 1116
tools/forge_llama_reconcile.py Reconcilie les llama-server DUPLIQUES main 70
tools/forge_llama_worker_isolated.py Wrapper Win32 Job Object pour llama-server.exe IO_COUNTERS, JOBOBJECT_BASIC_LIMIT_INFORMATION, JOBOBJECT_EXTENDED_LIMIT_INFORMATION, create_job_with_mem_cap (+5) 279
tools/forge_llamaedge_bringup.py monte le serveur LlamaEdge WASM (/v1 OpenAI-compat) — 86
tools/forge_lmstudio_server.py maintient le serveur LMStudio (:1234) UP, comme ollama/llamacpp main 77
tools/forge_local_llm.py résolution + appel d'un LLM LOCAL qualifié, à la demande list_ollama_models, pick_ollama_model, chat 128
tools/forge_lora_trainer.py Fine-tuning LoRA de qwen2.5-coder:7b sur corpus Nokido ================================================================================= Entraîne un adaptateur LoRA (Low-Rank Adaptation) sur le corpus Nokido : - Paires instruction → code documenté (docstrings build_dataset, train, test_inference 441
tools/forge_mesure_journaux.py Mesure AVANT / APRES du switch des journaux : la grosse base CESSE-T-ELLE de recevoir ? FORGE_COLOR = 'metabolisme/mesure : ecritures des journaux sur la base RAG, par fenetre' Contrat owner du 2026-09-19 : « on ne deplace pas des tables, on RETIRE DES ECR compter, ecarts, fenetre, main 179
tools/forge_night_trainer.py Trainer nocturne : backprop global + DPO LoRA phase1_pytorch_training, phase2_dpo_extraction, phase3_lora_finetune, anchor_results (+3) 338
tools/forge_openai_proxy.py OpenAI-compatible bridge for LobeHub / Cline / others load_token, hub_call, health, list_models (+4) 1597
tools/forge_provider_auth_audit.py ======================================================= Audit AUTH live de tous les providers LLM : ping minimal (max_tokens=3) via ask() et classe l'échec (OAUTH_REAUTH / AUTH_FAIL / NO_CREDIT / RATE / FORBIDDEN / TIMEOUT / NO_KEY / BAD_MODEL / OTHER) classify, test_one, main, admin_status 169
tools/forge_provider_catalogue.py Quels modeles ce fournisseur autorise-t-il A CETTE CLE ? Un 403 ou un 404 sur un appel de generation a deux causes tres differentes, et les confondre coute des heures : la cle est morte, ou le MODELE demande a ete retire interroger, modeles_cables, candidates_du_clair, main 250
tools/forge_provider_reachability.py dimension REACHABILITY des providers analyser, main 187
tools/forge_pytorch_nets.py ValueNet + PolicyNet + CostNet PyTorch autograd ValueNetPT, PolicyNetPT, CostNetPT, get_value_net_pt (+6) 466
tools/forge_route_solver.py allocation tâche→provider sous contraintes DURES (anti-Goodhart) critical_capable_providers, solve_route, selftest 117
tools/forge_router_slots_probe.py Chaque slot du routeur est-il REELLEMENT appelable ? Le 2026-08-18 on a decouvert que les 7 slots github_*, ajoutes en avril avec la mention « 7 modeles testes OK », pointent sur un backend que GitHub a RETIRE (410 Gone, mesure y compris sur une inference re slots_routeur, runtimes, correspondance, main 247
tools/forge_swe_provider_test.py Teste call_llm (du runner SWE) pour chaque provider DANS le contexte trusted (= contexte du runner détaché) -> voir le retour réel (ERR/firewall/token/code) — 15
tools/forge_tinygrad_poc.py PoC tinygrad sur iGPU AMD 780M (Windows, sans DirectML) log, phase_check, phase_install, phase_enum (+2) 162
tools/forge_token_optimizer.py Compression de prompts pour économiser les tokens ============================================================================= Réduit la taille des prompts envoyés aux LLMs (Groq/Ollama/Gemini) de 20-40% via trois stratégies : 1 ForgeTokenOptimizer, get_optimizer 208
tools/forge_tool_call_probe.py Quels endpoints savent VRAIMENT appeler un outil ? Le profilage attribuait tool_call sur supported_parameters, c'est-a-dire sur une DECLARATION du catalogue interroger, fusionner, main 245
tools/forge_ui_oracle.py Oracle UI GÉNÉRAL (pas CTF) observe, verify_gui, main 127
tools/forge_wake_llama_native.py Reveil RUNTIME de NokidoLlamaNative (:8091) sans toucher disabled=true make_lite, resolve, health, main 285
tools/forge_warm_code_model.py rend le modele de CODE resident, en detache residents, main 81
tools/llama_cli.py nokido CLI — interface terminal pour llama-server :8091 + Nokido hub :8766 decoder_reponse_mcp, cmd_chat, cmd_ask, cmd_models (+10) 728
tools/llama_proxy.py shim: delegates to forge_demand_proxy --service llama — 11
tools/make_tiny_onnx.py generate a trivial ONNX model (Y = X plus one) to test if WinML loads and runs inside the Xbox UWP AppContainer — 34
tools/nokido_llamacpp_ui_patcher.py patch UI llama.cpp → français + branding Nokido fetch_html, patch_html, main 270
tools/ollama_graceful_stop.py ============================== Ferme Ollama proprement : 1 unload_models 57

Digestif/Sens (ingestion/web)

79 modules · 22,032 lines

Module Definition Public API LOC
app/forge_auto_ingest_daemon.py Periodic Auto-Ingest ====================================================== Démon qui surveille data/rag_files/ et ingère les nouveaux fichiers toutes les 5 minutes run_daemon 41
app/forge_browser_tool.py Bridge Nokido <-> browser-control-mcp (Firefox) Installe l extension Firefox : https://addons.mozilla.org/firefox/addon/browser-control-mcp/ Lance le MCP server Node : npx @eyalzh/browser-control-mcp --port 3001 (port 3001 pour ne pas conflitter avec Nokido :8 get_tabs, read_webpage, get_history, browser_ingest_to_rag (+1) 164
app/forge_crawl_tool.py Crawl web frugal pour Nokido (déporté dans le hub) html_to_markdown, firewall_web, crawl_url, crawl_url_detail 431
app/forge_disco.py CONTRAINTE: header HD batch handle_disco 326
app/forge_hot_ingest.py CONTRAINTE: header HD batch hot_ingest_file, hot_ingest_url, HotFolderWatcher, get_watcher 441
app/forge_ingest_pipeline.py Pipeline raffinement données -> vecteurs ==================================================================== 3 niveaux (état de l'art 2026) : L1 RefinedChunk, clean_text, estimate_tokens, chunk_semantic (+7) 533
app/forge_pty.py CONTRAINTE: docstrings Google-style complets configure, get_pty_class 552
app/forge_pty_widget.py Nokido PTY Textual widget (moderne) =========================================================== Successeur moderne de PTYTerminal (Nokido_v13.6.py L1009-1290) PTYConnectError, PTYSession, LocalPTYSession 824
app/forge_ui_autocomplete.py CONTRAINTE: Unification AutocompleteEngine AutocompleteEngine 86
app/forge_unified_discovery.py CONTRAINTE: header HD batch refine_and_anchor, unified_discovery 467
app/forge_web.py CONTRAINTE: header HD batch is_web_search_enabled, toggle_web_search, WebSearchEngine, get_web_engine (+1) 710
app/forge_web_fallback.py Fallback SearXNG: engines generaux -> duckduckgo -> vide Pas de LLM externe web_search_with_fallback, format_results 79
app/forge_web_fetch.py Fetcher + extracteur texte + ingestion RAG qualifiee Pipeline: URL -> fetch HTML -> extract texte -> chunk -> qualifier -> rag_chunks extract_text, extract_title, classify_url, chunk_text (+1) 233
app/forge_web_service.py CONTRAINTE: Args/Returns/Raises hub_health, hub_metrics, hub_live_bridge_json, hub_live_tasks (+48) 1342
tools/check_gitingest_status.py Compte gitingest disponibles vs indexés dans RAG main 33
tools/extract_js_endpoints.py Extrait endpoints depuis bundles JS webpack/vite extract_js_endpoints 56
tools/forge_anchor_swebench.py Ancre le fix localisation SWE-bench dans Nokido main 34
tools/forge_antiregression_full.py LA passe main 185
tools/forge_audit_swebench.py éval grounded de ForgeAudit (ultrareview) via SWE-bench gold_old_lines, main 255
tools/forge_bulk_import.py Import massif de liens dans Nokido parse_links, dedup, insert_bulk, main 255
tools/forge_curriculum_ingest.py Ingestion de RÉFÉRENCES CANONIQUES par module du cursus IA dans RAG domain='reference' (cercle de savoir, cf gouvernance épistémique) fetch_text, ingest_module, ingest_snippets, main 254
tools/forge_dashboard.py Dashboard Nokido v17 ========================================== Visualisation temps réel du vault génomique, des métriques et des runs Cerberus score_color, load_vault, load_episodic_stats, load_active_runs (+5) 527
tools/forge_db_index_advisor.py Chaque base indexee POUR SES PROPRES requetes — pas selon un modele generique auditer, appliquer, main 388
tools/forge_doc_ingest.py Ingestion d'un fichier .md en chunks RAG ingest_file, main 148
tools/forge_docset_ingest.py ingestion BULK docset Dash/Zeal -> RAG (domain='reference') ingest, main 264
tools/forge_egress_chokepoint.py ou sort reellement une donnee vers un LLM ? Mesure 2026-09-02 : la politique de partage (forge_share_policy) a ete branchee dans forge_swarm_router.route_subtask, et router_call s'est revele atteint par plusieurs AUTRES chemins cartographier, rapport, main 181
tools/forge_fts_trigram.py Index TRIGRAM sur le code et les logs — trouver ErrConnectionReset par fragment construire, bench, main 267
tools/forge_gitingest_sdk_ingest.py Ingest gitingest SDK dumps into Nokido RAG ingest_file, main 265
tools/forge_ingest_ai_prompts_landscape.py Ingest x1xhlol/system-prompts-and-models-of-ai-tools (32 AI tools) into RAG ingest, verify, main 427
tools/forge_ingest_llms_txt.py ingere un SITE de documentation via son llms.txt ecarter_agregats, recuperer_index, extraire_pages, ingerer (+1) 334
tools/forge_ingest_rfc_run.py déporte l'ingestion docset RFC + snippets canoniques — 21
tools/forge_m2m_debate_antiregression.py DEBAT M2M (Claude <-> Antigravity <-> panel local) dont l'objet est UNE SEULE chose : une methode de detection de regression qui NE RATE RIEN axes_en_production, proposition_agy, corpus_regressions_connues, ssot_lire (+5) 837
tools/forge_netcfg_docset_normalize.py normalise les references normatives des docsets vendor de netcfg-agent (docs/vendor_knowledge//NN_sujet.md) normalise_texte, run, main 203
tools/forge_patch_crawl_offload.py deporte les appels bloquants de handle_crawl main 84
tools/forge_playwright_browser.py Browser headed isolé + Oracle UI pour Nokido inventaire_magasin, candidats_lancement, choisir_lancement, PlaywrightBrowser (+1) 529
tools/forge_regression_matrix.py Transforme l'historique reel en matrice anti-regression cmd_stats, cmd_extract, cmd_check, main 443
tools/forge_regression_sweep.py les trois familles que la sentinelle d'ancres ne voit pas axe_valeur_et_config, axe_imports_orphelins, axe_backends_supprimes, main 450
tools/forge_reingest_gitingest.py Reingestion PROPRE des dumps gitingest : purge -> reingere -> vectorise main 108
tools/forge_source_discovery.py Enrichissement RAG par découverte web ciblée ========================================================================= Recherche des sources pertinentes sur le web et les injecte dans le RAG de Nokido pour enrichir le contexte des mutations ForgeSourceDiscovery 1053
tools/forge_swebench_bg.py wrapper SWE-bench pour le hub /admin/run_job — 85
tools/forge_swebench_detach.py lance forge_swebench_bg.py DÉTACHÉ — 41
tools/forge_swebench_modal.py SWE-bench sur Modal (conteneurs cloud //) solve_instance, main 103
tools/forge_swebench_repo_cache.py pre-calc + cache repo_map des repos cibles SWE-bench prepare_instance, load_cached_markdown, load_cached_manifest, cached_repo_path (+2) 235
tools/forge_swebench_strategy_debate.py debat multi-LLM neuro-symbolique run_debate, main 283
tools/forge_ui_generator.py LLM-generated UI components for Nokido hub generate_component, list_components, main 185
tools/forge_veille_backfill.py rattrapage du corpus de veille DEJA ingere (owner 2026-07-25 : « reverifie les veilles passees si elles sont incompletes ») main 604
tools/forge_veille_campagne_run.py lance la campagne de veille du 2026-08-30 — 36
tools/forge_veille_clone_ingest.py veille souveraine sans SearXNG/SDK gitingest charger_cibles, alias_historiques, positionnels, selectionner (+14) 1344
tools/forge_veille_depollute.py retire l'en-tete « [VEILLE] Theme: main 158
tools/forge_veille_e2e_check.py E2E de la chaine de veille : prothese Docker -> SearXNG -> Crawl4AI -> bail etage_prothese, etage_service, etage_capacite_searxng, etage_chaine (+1) 193
tools/forge_veille_gap_recover.py le trou entre biblio et contenu RAG prochain_creneau, main 415
tools/forge_veille_gap_run.py rattrapage de veille deporte, sans argument — 51
tools/forge_veille_intake_filter.py refuser le contenu GENERE a l'entree est_genere, est_hors_substance, resume_hors_substance, marqueurs_ver (+2) 369
tools/forge_veille_registre.py le CONTRAT du registre de cibles de veille RegistreInvalide, CibleInconnue, url_canonique, target_id (+20) 677
tools/forge_veille_rejeu.py rejoue les veilles qui n'ont RIEN rapatrie main 122
tools/forge_veille_run.py veille approfondie déportée GÉNÉRIQUE : ingère TOUS les modules *_eco — 24
tools/forge_veille_u1_run.py chantier U1 : les depots de veille JAMAIS ingeres charger_absents, deja_faits, construire_cibles, main 136
tools/forge_veille_variete_mesure.py MESURER le seuil hors-variete, pas l'inventer main 175
tools/forge_veille_variete_organe.py qualification par ORGANE, pas par moyenne globale main 240
tools/forge_vendor_kb_ingest.py Ingest vendor knowledge base into RAG VendorChunk, parse_frontmatter, slug, split_by_h2_sections (+3) 423
tools/forge_video_observe.py Oracle VIDÉO : sous-échantillonnage sémantique d'un flux vidéo en format digestible par un LLM (cf extract_keyframes, transcribe, observe_video, main 126
tools/forge_vision_som.py Fallback VISION (Set-of-Mark sur PIXELS) quand l'arbre a11y/DOM est vide : canvas, WebGL, jeux, Figma, maps, dashboards custom-rendered available, detect 63
tools/forge_web_egress.py Gateway d'egress web firewallé (le "hard hijack" web) health, fetch_ep, main 151
tools/ingest_ami_repos.py Gitingest 5 repos AMI-roadmap + lance veille approfondie SearXNG — 123
tools/ingest_gitingest.py Ingest gitingest_nokido.txt into RAG domain=nokido_digest sha256_id, chunk_text, main 108
tools/ingest_gitingest_batch.py Batch ingest data/gitingest/*.txt into RAG Usage: hub run action=python code="exec(open('tools/ingest_gitingest_batch.py').read())" sha256_id, chunk_text, main 107
tools/ingest_pdf.py Ingère un PDF dans le RAG via MarkdownChunker (forge_rag_store) extract_text, pdf_text_to_markdown, main 149
tools/ingest_veille_juicedata.py Trigger one-shot de l'ingestion gitingest + verif RAG (juicedata) rag_count, main 42
tools/nokido_opencode_web.py opencode (sst/opencode) servi en LOCAL et sous MOT DE PASSE pour le lanceur :7400 service_wcm, construire_commande, dossier_appdata, dossier_localappdata (+16) 507
tools/paste_clean.py clipboard HTML/text → token-economical Markdown read_clipboard, write_clipboard, html_to_md, post_process (+1) 170
tools/patch_ingest_repo_fail_open.py FORGE_COLOR = "immunitaire/authz-routes" PATCH : admin_ingest_repo passe par le garde d'auth CENTRAL main 77
tools/relance_25_bruit_weak.py Reset 25 jobs BRUIT + WEAK (re-derivation same logic que audit) main 210
tools/run_gitingest.py Run gitingest on Nokido repo → docs/gitingest_nokido.txt — 47
tools/run_gitingest_index.py Indexe docs/gitingest_*.txt dans RAG main 73
tools/run_index_background.py Launch index_gitingest_rag.py in background, write log to logs/index_gitingest.log — 26
tools/watch_jobs_create_missing_chains.py Cree les 7 chain_nodes + agent_chain_context pour les watch_jobs pending qui n'ont aucun chain_node existant (jobs créés mais jamais initialisés) main 83
tools/watch_jobs_reset_49_pending.py Reset chain_nodes pour les 49 watch_jobs pending : status=pending sur TOUTES les steps (keywords->ingest) pour rerun complet avec patches keywords strict + refine strict main 64
tools/watch_jobs_reset_phantoms.py Reset les jobs 'completed' fantomes (colonnes vides) a 'pending' step=keywords main 52
tools/watch_jobs_reset_truly_empty.py Reset UNIQUEMENT les watch_jobs vraiment vides (pas de chunks reels en DB) main 125

Graph/Connaissances

49 modules · 15,948 lines

Module Definition Public API LOC
app/forge_ast_index.py Index AST code Nokido (ex forge_code_atlas) get_index, ego, summary 191
app/forge_callgraph_jit.py Call-graph fonction-level JIT (just-in-time) callees, definitions, ambiguite, callers (+1) 271
app/forge_code_surgery.py CONTRAINTE: Unification CodeSurgeon + AST Helpers (shredded from core_agents/versioning/handlers) SurgeryResult, ts_surgery, CodeSurgeon 246
app/forge_coherence_gate.py Vérifie l'impact cross-fichiers avant d'écrire du code coherence_gate 76
app/forge_cost_net.py Learned Cost Function (LeCun AMI: Cost Module appris) CostNet, train, get_model, predict_cost (+1) 222
app/forge_edge_node.py FORGE_COLOR = edge/edge-node-receiver NOEUD EDGE — receveur de world-vector COTE NOEUD (ferme la boucle broadcast->receive) serve, selftest, main 241
app/forge_extern_patterns.py Extraction AST de patterns de bibliothèques externes extract_file_ast, build_ast_compressed, query_extern_pattern, extract_patterns_from_gitingest (+1) 430
app/forge_git_historian.py CONTRAINTE: reconstruire l historique technique depuis Git sans dupliquer le code existant CommitIntel, get_last_processed, extract_commits, index_commits (+1) 695
app/forge_graph_cve_propagation.py Propagation BFS d'une CVE dans le graphe de code propagate_cve 71
app/forge_graph_edge_scorer.py Calcul unifié scores d'edges dans le graphe de code score_edge, surprise_score, rank_edges_by_surprise 173
app/forge_graph_explorer.py Nokido Graph Explorer GUI ===================================================== Application web locale pour l'exploration interactive de graphes ping, status, get_graph, load_generator (+18) 1489
app/forge_graph_linker.py CONTRAINTE: Edge scoring unifié (Cosine) + Personalized PageRank (PPR) SourceIndex, ASTScanner, GraphLinker 581
app/forge_graph_lru.py LRU+TTL cache pour GraphLinker GraphLRUCache, get_cache 62
app/forge_graph_ppr.py Personalized PageRank sur graphe de code ppr, top_k 68
app/forge_graph_studio.py Nokido Universal Graph Studio v1 ========================================================== Plateforme générale d'étude de graphes — indépendante du domaine GraphStats, GraphStudio 994
app/forge_graph_universal.py Nokido Universal Graph Engine v2 ============================================================ Module graph généraliste : cyber, documents, science, finance, médecine lru_cache_wrapper, GraphNode, GraphEdge, RAGVectorSource (+6) 603
app/forge_introspect.py UN verbe pour interroger le corps avant d'agir introspect, noter_consultation, consultation_recente, noter_edition (+4) 902
app/forge_knowledge_concierge.py le PORTIER de la recherche interne Nokido Kind, Source, RetrievalPlan, classify (+2) 184
app/forge_knowledge_distiller.py ================================== Distille la connaissance Nokido vers un nouveau projet extract_system_rules, extract_architecture_patterns, extract_best_practices, build_primer (+2) 220
app/forge_knowledge_harvester.py CONTRAINTE: header HD batch KnowledgeEntry, ReasoningExtractor, TemplateGenerator, SilentBenchmark (+3) 487
app/forge_nlgraph_scorer.py LLM Scorer + Benchmark Runner for NLGraph ==================================================================== Separated from forge_nlgraph_runner.py for MCP buffer reasons LLMScorer, BenchReport, run_benchmark 237
app/forge_project_state.py Snapshot et diff de l'état du projet ProjectState, snapshot, diff, ForgeProjectStateGraph 198
app/forge_project_state_graph.py Software-creator project state as directed graph ModuleNode, ProjectStateGraph, scan_project 206
app/forge_repo_map.py Aider-style compressed repo map Symbol, parse_file_symbols, build_repo_map, render_markdown (+3) 347
app/forge_resonance_filter.py Note une proposition d'agent (répétition, dérive ADR, ring 0) et choisit l'action resonance_check, create_adr 617
app/forge_vec_ledger.py Signe des vecteurs d'embedding (SHA256 des octets float32 puis HMAC-SHA256) et journalise chaque signature comme événement vec_signed dans event_log hash_vector, sign_hash, verify_vector, sign_and_log (+1) 314
app/forge_wasm_cervelet.py Double-cervelet WASM côté Nokido Python Pendant Cervelet Docker (WSL wasmedge :55555) tourne en parallèle, ce module fournit un wrapper Python pour: 1) Charger un .wasm simple via wasmtime-py (sandbox isolation) 2) Forwarder les requests embeddings vers le Cer run_wasm_deno, health_docker, spin_exe, health_spin (+5) 390
tools/bench/forge_knowledge_distiller.py CONTRAINTE: header HD batch extract_system_rules, extract_architecture_patterns, extract_best_practices, build_primer (+2) 254
tools/forge_cve_nvd_download.py Download NVD CVE 2.0 feed and ingest into RAG embeddings.db fetch_recent, fetch_year, parse_vulns, ingest_to_rag 184
tools/forge_cve_osv_fallback.py CVE search with NVD primary + OSV.dev fallback search_cve, enrich_cve, batch_enrich 150
tools/forge_cve_propagation_graph.py CVE transitive propagation through dependency graph CVENode, DepNode, CVEPropagationGraph, load_from_osv 166
tools/forge_edge_scoring.py Unified edge scoring for Nokido knowledge graph semantic_score, temporal_score, trust_score, cooccurrence_score (+3) 198
tools/forge_graph_lru_expand.py Graph engine with LRU cache + Personalized PageRank (PPR) GraphLRUCache, personalized_pagerank, top_k_by_ppr, ExpandedGraphEngine 161
tools/forge_index_extra_langs.py Indexe le code TypeScript / Rust dans le RAG main 52
tools/forge_knowledge_overlap.py le savoir candidat est-il DEJA digere ? DETECTEUR DE NOUVEAUTE, place AVANT l'ingestion normaliser, hash_texte, requete_fts, blob_vers_vecteur (+8) 393
tools/forge_knowledge_pack.py distribute the RAG DB efficiently (not the raw 16 GB) export_pack, import_pack, rebuild_from_source, main 216
tools/forge_knowledge_pack_export.py Knowledge Pack ESSENTIEL : les fragments PROUVES publics base_rag, normaliser, rattacher, Dist (+5) 272
tools/forge_knowledge_pack_import.py Import Nokido code knowledge pack lire_pack, import_pack, main 291
tools/forge_library_shifter.py Permutation chirurgicale de librairies via AST ========================================================================= Remplace les librairies standard par des alternatives haute-performance validées par benchmark + tests de régression Cerberus LibraryShifter 267
tools/forge_mtls_ca.py autorite de certification CLIENTE pour le mTLS Nokido init_ca, issue, verify, main 251
tools/forge_organ_edges.py ARETES du corps : part_of et connected_to, puis « si cet organe tombe, qu'est-ce qui meurt en aval » build, downstream, main 264
tools/forge_reachability_ledger.py Phase 8 : registre d'ATTEIGNABILITE index_references, modules_presents, classer_vivant, classer_disparu (+2) 359
tools/forge_signal_graph.py GRAPHE DE SIGNAUX resolu sur l'AST + la config parsee build_graph, asymetries 216
tools/forge_skill_capability_graph.py Graphe de CAPACITES — ce qu'un skill EXIGE, ce qu'il PRODUIT Fait, Effet, Capacite, capacite (+6) 389
tools/forge_surgical_patcher.py Patch chirurgical AST (Pass@1) ================================================================ Moteur de transformation sans regex ni escape hell preprocess_py2_text, SurgicalPatcher 412
tools/forge_syspath_cartography.py pourquoi ce sys.path est-il la ? P4.2a a mesure que le corps s'importe A PLAT : 4 449 import forge_* et 1 186 sys.path.insert Site, modules_depot, classer_source, cartographier_textes (+2) 555
tools/forge_treesitter_validate.py validation structurelle PRÉ-write (multi-langage) validate, validate_file, main 126
tools/forge_warpgrep.py recherche de code hybride pour la LOCALISATION build_repomap, warpgrep_locate 195
tools/nokido_graph_server.py Launcher forge_graph_explorer sur port 7420 main 62

Reseau/Distribue/Sync

44 modules · 11,776 lines

Module Definition Public API LOC
app/forge_cardiac_node.py NOEUD SINUSAL : le corps n'a qu'UN rythme, et il descend innervation, periode_pour, systole, lire (+1) 252
app/forge_dataset_sync.py CONTRAINTE: header HD batch gen_is_at_least_matrix, gen_integrity_rings, gen_integrity_edge_cases, gen_behavior_gold (+3) 779
app/forge_handler_network.py CONTRAINTE: Isolation Network Handlers (Proxy/SSH/Tunnels) — 85
app/forge_network.py CONTRAINTE: header HD batch Device, NetworkDiscovery, MiniIDSAgent, SwitchResult (+1) 808
app/forge_network_dispatch.py Registre dynamique 5 topologies × 3 modes ====================================================================== Topologies: UNI Unicast 1→1 direct, adressé MUL Multicast 1→N groupe abonnés d'un groupe/tag BRD Broadcast 1→tous segment complet ANY Anycast 1→1/N get_schema, dispatch 275
app/forge_network_logger.py Bus de logging centralisé Nokido v2.0 ================================================================ v2.0 : Utilise forge_mcp_security.audit() comme backend natif (mcp_audit.log — append-only, non modifiable par l'IA) plutôt qu'une table SQLite séparée NetworkChannel, Direction, net_log, net_subscribe_sse (+11) 613
app/forge_nokido_packet.py Nokido Packet Header v1.0 ===================================================== Format : LF[S][D][R][P][AAA] LFPacket, parse_header, make_header, reject_policy (+5) 266
app/forge_p2p_protocol.py Interface abstraite pour backend P2P RAG ================================================================= Stub d'architecture pour le branchement futur libsql/cr-sqlite P2P P2PBackend, NullP2PBackend, get_p2p_backend 86
app/forge_peer_discovery.py peer discovery by tag/purpose (relaydeck P2) roster, select, set_labels, main 142
app/forge_pipeline_node.py CONTRAINTE: header HD batch NodeStatus, NodeResult, Ring2ADRValidator, MMapBuffer (+3) 393
app/forge_policy_net.py Policy Network (Hassabis / AlphaZero pillar) PolicyNet, train, get_model, propose_action_emb 215
app/forge_ring_buffer.py Ring Buffer Rewind pattern (Phase 37, 2026-05-25) Event, start_recording, push, dump_window (+2) 138
app/forge_sovereign_mapper.py Souverainete Symmetrique SovereignContextMapper 111
app/forge_ssh.py Fournit le terminal SSH interactif Textual, les assistants de configuration SSH et un pipeline CI execute a distance par SSH, en re-exportant SSHManager PTYTerminal, SSHWizardScreen, handle_ssh, handle_set_ssh_mode (+3) 1196
tools/create_sample_network_vsdx.py Genere un fichier .vsdx de demonstration pour le dossier Sample Network build 102
tools/create_scenario_vsdx.py Genere un fichier .vsdx de demonstration croisant Excel + Visio + Inventaire Physique build 181
tools/fbxwol.py demande a la Freebox d'emettre le paquet magique sur le LAN main 137
tools/forge_a2a_card.py Agent Card A2A GENEREE depuis l'etat vivant — jamais un fichier statique etats, carte, main 198
tools/forge_a2a_server.py Serveur A2A — Tier 1 : message/send, tasks/get, tasks/cancel admission, traiter, serve, main 249
tools/forge_acp_adapter.py PoC : Nokido comme backend AGENT via ACP (Agent Client Protocol), à côté du serveur MCP handle, main 317
tools/forge_acp_client.py Nokido comme CLIENT/HOST ACP : pilote un agent-CLI externe parlant Agent Client Protocol (ex: gemini --experimental-acp) ACPClient, ask, main 448
tools/forge_acp_server.py ACP agent-side adapter: exposes the Nokido hub as an Agent Client Protocol (ACP) agent over stdio (NDJSON, JSON-RPC 2.0) TurnContext, EchoBrain, HubBrain, StreamingBrain (+3) 648
tools/forge_ble_buddy.py Nokido = "Hardware Buddy" BLE de Claude Desktop (Couche 7, GOUVERNÉ) govern, main 154
tools/forge_claude_desktop_sync.py IaC Claude Desktop (MCP + mode dev), 100% fichier (headless) sync_mcp, apply_dev_keys, main 94
tools/forge_cross_fs.py Skill cross_platform_fs ================================================= Permet de déplacer/copier des fichiers entre l'hôte Windows et les environnements isolés (Docker, WSL) copy_to_docker, copy_from_docker, copy_to_wsl 84
tools/forge_demo_netcfg_topology.py Playwright headed sur netcfg-agent :7500 main 85
tools/forge_dt_router_wire.py Wire Nokido DT router decisions to Deno nervous system DTRouterWire, mock_routing_decision 157
tools/forge_faiss_sidecar.py P1 hub_concurrency : vector-search en PROCESS SÉPARÉ load_index, serve, search_remote, sidecar_alive (+3) 277
tools/forge_freebox.py client Freebox OS souverain (LAN pur, zero cloud) FreeboxError, pair, session, cmd_status (+9) 340
tools/forge_gemini_models_sync.py Confronte les modeles Gemini declares dans le routeur a ceux qui EXISTENT modeles_declares, catalogue, confronter, essayer (+1) 169
tools/forge_ports.py registre CANONIQUE des ports reseau Nokido + audit/logging probe, owner, reserved_collisions, for_service (+4) 180
tools/forge_qdrant_fill.py Remplissage de la collection Qdrant depuis embeddings.db fill, main 96
tools/forge_qdrant_sidecar.py Module Sidecar Qdrant (SSoT RAG Nokido 2026 - Multi-CLI Safe) DiskPressureError, check_disk_pressure, SovereignFileLock, get_qdrant_client (+9) 636
tools/forge_qdrant_sync_daemon.py sync CONTINUE SQLite -> Qdrant (pattern outbox) init_schema, drain_once, run, main 182
tools/forge_route_async_bloquante.py rendre au serveur ses fils d'execution analyser, convertir, executer, main 177
tools/forge_ssh_ops.py Executeur SSH souverain — pilote un hote du LAN depuis le contexte trusted cmd_keygen, cmd_shell, cmd_put, main 141
tools/forge_sync_branche.py integrer les commits distants AVANT publication decider_sync, main 156
tools/forge_tunnel_client_launch.py Lance le relais MCP d'OpenAI avec sa cle lue au COFFRE, jamais depuis un fichier magasin, binaire_par_defaut, config_par_defaut, lire_cle (+4) 163
tools/forge_vm_dns.py accès TRUSTED à la VM StackDNS (AdGuardHome) pour debug/unblock main 344
tools/kaggle_sync.py Synchronisation notebook + dataset Kaggle ================================================================= Pousse le notebook ET le dataset en une seule commande inject_version, push_notebook, push_dataset 135
tools/nokido_netmap.py Nokido Network Map parse_scans, apply_updates, node_pos, draw_topology (+2) 409
tools/notify_gemini_sync.py Envoie un message de sync a Gemini via agent_notify — 28
tools/patch_corrigibility_wire.py Patcher one-shot IDEMPOTENT : câble la garde corrigibilité dans le dispatch (forge_mcp_registry.py = CRITICAL_FILE, governed_edit refuse -> trusted_script) main 61
tools/watch_jobs_reset_chain_nodes.py Reset chain_nodes pour les 45 watch_jobs reset (status=pending+step=keywords) : status=pending pour search/refine/crawl/store/ingest, keep keywords+verify_kw completed main 69

Interface/UI (peau/expression)

20 modules · 7,735 lines

Module Definition Public API LOC
app/forge_vitals_tools.py FORGE_COLOR = interface/vital-signals SIGNAUX VITAUX — l'anatomie cognitive de Nokido rendue LISIBLE (doc interface §2/§4 P0) subjective_tempo, affective_state, phenomenal_flow, parietal_percept (+11) 212
tools/apply_nokido_logo.py Applique le pack logo Nokido biomimetique dans web_hub/static main 32
tools/forge_design_extract.py Passe 1 du portage du design system Nokido main 89
tools/forge_font_vendor.py vendore les webfonts du portail web_hub :7400 en local main 98
tools/forge_tui_sonde.py sonde HEADLESS des TUI Textual de Nokido (Pilot, aucun terminal) texte_rendu, marqueurs, sonder_tout, sonder_chemin_reel (+1) 411
tools/forge_tui_textual.py la TUI Textual de Nokido, branchee sur le REEL collecter, instantane, main 195
tools/forge_ui_campaign.py campagne VALIDATION GRAPHIQUE web_hub :7400 texte_porte_valeur, mot_d_erreur, est_rechargement, vue_hub (+17) 1874
tools/forge_ui_coherence.py une tuile ment-elle sur l'etat du systeme ? Ne verifie PAS que l'UI est jolie : verifie qu'elle DIT VRAI analyser, main 152
tools/forge_ui_contrat_etats.py TEMOIN : le Hub distingue-t-il LOADING, DATA et ERROR ? FORGE_COLOR declare plus bas (le census lit la premiere ligne ancree, pas la docstring) juger, main 386
tools/forge_ui_delier_cdn.py delier les pages servies de tout CDN externe fichier_local_pour, delier, pages, executer (+1) 155
tools/forge_ui_design_cover.py DÉPORTÉ : génère TOUS les composants design_handoff via la moulinette main 77
tools/forge_ui_manifest.py le MANIFEST vivant de l'interface (keystone) manifest, main 276
tools/forge_ui_moulinette.py moulinette UI souveraine (économie tokens massive) skeleton_from_schema, schema_from_spec, fill_holes, form_from_jsonschema (+2) 299
tools/forge_ui_nervous_census.py le cablage REEL des interfaces, ELEMENT par element invisible_agent, classer, signature_page, pages_uniques (+5) 929
tools/forge_ui_repo_cover.py couvre TOUT le dépôt : 1 form UI fidèle par tool hub generate, main 71
tools/forge_ui_sweep.py BALAYAGE moulinette UI sur TOUT le dépôt (déterministe, 0 token) main 76
tools/forge_ui_temoin.py UI_ACCEPTANCE_WITNESS — rendre lisible ce qu'une campagne UI a reellement etabli construire 200
tools/forge_ui_vitals_cover.py MOULINETTE des SIGNAUX VITAUX (couvre le code cognitif) generate, design_handoff, main 149
tools/nokido_tray.py Icône tray Windows Nokido ============================================= Lance en arrière-plan au démarrage Windows ecrire_ico, lancer_panneau, main 630
tools/nokido_tui.py v2 — TUI multi-CLI user (ring 0) Phases 1-6 complètes load_token, hub_notify, fetch_recent, status_services (+9) 1424

SWE-bench

5 modules · 741 lines

Module Definition Public API LOC
app/forge_pydantic_tools.py schemas Pydantic pour tool calls SWE-bench list_tools, validate_args, call_tool_validated 154
app/forge_swe_ast_whole_func.py SWE-bench améliorations Phase 1 : robustesse output via AST whole-function rewrite + linter gate extract_function, parse_validate, lint_function, apply_ast_replacement (+2) 323
app/forge_swe_multifile.py SWE-bench Phase 2 : multi-fichiers via repomap + AST build_repomap, find_impact, generate_multifile_patch, main 208
tools/forge_swe_smoke_launch.py Lance le smoke SWE-bench n=3 DÉTACHÉ (best-of-N claude_cli/gemini_cli/groq + multivec) — 29
tools/forge_swe_smoke_restart.py Kill le smoke hung + relance SANS multivec (le multivec indexe tout le clone + resume LLM/fonction = hang sur gros repo) — 27

Modules without a docstring — measured gaps

These modules expose no definition. Nothing is invented for them: adding a module docstring will make its definition appear here at the next generation.

Module Public API LOC
app/Nokido.py create_settings, run_ssh, get_orchestrator, looks_like_shell_command 4913
app/forge_agents.py AgentRole, IntentRouter, ModelBenchmark, ModelBenchmarker 3401
app/forge_mixin_patch.py shutdown_onnx_backend, PatchMixin 1411
tools/gemini_poll_daemon.py log, load_token, mcp_call, poll_notifications 1049
app/forge_versioning.py SurgeryResult, CodeSurgeon, ForgeSaveOrchestrator, VersionManager 926
app/forge_goap.py SubGoal, PlanTree, GOAPError, GoalPlanner 911
app/forge_hub_handlers.py handle_ci_remote, handle_workflow_hub, tui_auto_patch, hub_notification_poll 857
app/forge_ui_widgets.py AgentType, AgentSelector, MetricsPanel, SkillNode 649
app/forge_tool_forger.py forge_forge_tool, forge_call_dynamic, forge_list_dynamic_tools 549
app/forge_anti_ia_traps.py TrapIndicator, ValidationResult, StaticTrapClassifier, forge_validate_challenge 529
app/forge_ingestion_pipeline.py parse_gitingest_file, filter_files, compute_centrality, score_files 474
app/forge_github_mcp_connector.py GitHubMCPSession, GitHubMCPBridge, get_bridge, github_mcp_status 445
app/forge_routing.py build_router, reset_router, router_status 422
tools/audit_rfc_compliance.py run_audit, main 363
app/bootstrap.py run_code, run_file 350
app/forge_kaggle_bridge.py KaggleBridge, get_bridge, kaggle_status 342
app/forge_self_refinement.py RefinementTurn, RefinementResult, thought_interceptor, forge_self_refine 326
app/forge_code_guard.py DangerLevel, DangerCheck, DangerGuard, danger_confirmation_message 313
app/hardware/idle_watchdog.py IdleWatchdog 276
app/forge_handler_build.py build_with_retry_loop, execute_build_goal, handle_build_new_app 269
tools/nokido_mcp_proxy.py ChatMessage, ChatCompletionRequest, get_local_ollama_models, initialize_model_mapping 265
app/forge_meta_evolution.py DaemonHealth, MetaSignal, forge_meta_scan, forge_meta_suggest 256
app/laforge_tui/laforge_tui.py NokidoTUI 242
app/forge_guarded_mutation_loop.py parse_constitution, check_code_violations, run_cmd, calculate_tests_hash 235
app/web_hub/forms/run_form.py render_run_form 233
app/forge_hippocampus.py Hippocampus, lessons_consolidate, forge_distill_session, forge_lessons_consolidate 230
app/forge_codeberg_sync.py setup_remote, sync_now, sync_if_auto, status 227
app/netcfg/views.py get_db, netcfg_index, get_inventory, post_preview 224
app/forge_sandbox.py SandboxResult, SafeRunner, AgentHistory, OllamaCodeGen 223
app/legacy/snif.py Device, NetworkDiscovery 223
app/forge_code_loops.py ErrorMemory, LoopIteration, LoopState, BaseLoop 220
app/forge_self_awareness.py self_snapshot, publish_self_state 205
tools/archive_tui/swarm_dashboard_v2.py PseudoTerminal, SwarmDashboardV2 203
tools/ollama_cloud_proxy_agent.py execute_local_tool, poll_cloud_and_execute 203
tools/archive_tui/swarm_dashboard.py AgentTerminal, SwarmDashboard 200
app/forge_hybrid_cortex.py HybridCortex, get_cortex 197
app/forge_phi3_npu.py is_available, get_stats, generate, purge 196
tools/forge_rfc_ingest.py LocalRFCIngestionTool, get_mcp_definition 188
app/legacy/codetesteur.py Agent, Planner, RAG, OllamaLocal 184
app/forge_internal_sampling.py sample, usage 179
tools/forge_docset_sync.py DocsetAutoSync 172
app/forge_token_watchdog.py TokenWatchdog, record_tokens 169
app/forge_biblio_schema.py EntrySchema, validate_entry, to_dict 166
app/web_hub/forms/hub_form.py render_hub_form 165
app/hardware/monitor.py detect, main 161
app/nokido_proxy_guard.py get_agent_health, nokido_guard, proxy_chat_completions 161
app/web_hub/forms/netcfg_form.py render_netcfg_form 160
app/forge_ingress_adapter.py IngressAdapter, get_ingress_adapter 157
app/forge_biblio_refine.py parse_lastname, refine_query 153
app/forge_symbiotic_core.py SymbioticCore 138
tools/forge_skill_indexer.py SkillIndexerDaemon 136
app/forge_biblio_sanitizer.py validate_doi, validate_arxiv_id, validate_isbn, is_url_whitelisted 134
app/forge_code_ast.py analyze_ast, validate_python_syntax, pylint_score, count_real_errors 133
tools/nssm_dedup_audit.py run_nssm_audit 133
app/forge_agents_reasoning.py SupervisorAnalysis, RoutingPlan, ActionResult, SupervisorAgent 129
app/legacy/arbre.py RAG, Agent, Planner, main 125
app/forge_coherence_checker.py CoherenceReport, check_coherence 122
app/forge_web_search.py search_tavily, search_duckduckgo, search_searxng, aggregate_search 111
tools/forge_docset_reader.py DocsetReaderTool, get_mcp_definition 111
tools/forge_wm_trainer.py main 109
app/legacy/modeplanner.py RAG, Agent, Orchestrator, main 106
tools/forge_jepa_finetune_colab.py to_ds 106
app/forge_llamacpp_scorer.py LlamaCppScorer 105
app/forge_json_query.py JsonQueryTool 104
app/forge_spec_to_stubs.py StubResult, spec_to_stubs 102
app/netcfg/core.py Safety, VendorTemplate, Equipment, VendorDetector 101
tools/ingest_litellm_batch.py sha256_id, chunk_text, main 98
tools/patch_mcp_registry_netcfg.py handle_netcfg_proxy 97
tools/patch_mcp_registry_security.py — 97
app/forge_local_scout.py ask_local_scout 96
app/agent_sre_observabilit/agent_core.py AgentCore 94
app/run_nlgraph_full.py main 93
app/web_hub/forms/biblio_form.py render_biblio_form 93
app/agent_actuaire_statisticien/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_administrateur_syst_mes_r_seaux/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_analyste_quantitatif_quant/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_analyste_risques/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_analyste_soc_siem/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_architecte_cloud/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_architecte_dplg_urbaniste/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_architecte_logiciel/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_archiviste_pal_ographe/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_astrophysicien/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_avocat_d_affaires_fiscaliste/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_bio_informaticien/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_chasseur_de_t_tes_recruteur/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_chef_de_produit_marketing/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_chef_de_projet_product_owner/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_chercheur_en_math_matiques_pures/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_chimiste_organique_inorganique/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_chirurgien_sp_cialis/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_climatologue/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_commercial_b2b_key_account_manager/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_concepteur_cao_dao/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_concepteur_micro_lectronique_fpga_asic/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_conducteur_de_travaux/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_consultant_en_strat_gie/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_contr_leur_de_gestion_auditeur_financier/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_criminologue/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_cryptographe/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_d_veloppeur_backend_frontend/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_data_scientist_data_engineer/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_directeur_de_la_supply_chain/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_enseignant_chercheur/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_expert_comptable/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_expert_en_propri_t_intellectuelle_inpi/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_expert_en_r_seaux_lectriques_smart_grids/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_expert_en_structures_g_nie_civil/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_fiabiliste/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_g_n_ticien_biologiste_mol_culaire/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_g_omaticien_cartographe_sig/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_graphiste_directeur_artistique/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_infirmier_dipl_m_d_tat/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_ing_nieur_agronome/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_ing_nieur_du_son_expert_haute_fid_lit_dsp/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_ing_nieur_en_g_nie_m_canique/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_ing_nieur_en_maintenance_industrielle/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_ing_nieur_en_nergies_renouvelables/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_ing_nieur_en_sciences_des_mat_riaux/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_ing_nieur_en_thermodynamique_m_canique_des_fluides/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_ing_nieur_en_traitement_des_eaux_d_chets/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_ing_nieur_lean_manufacturing/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_ing_nieur_nucl_aire/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_ing_nieur_p_dagogique/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_ing_nieur_qualit/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_ing_nieur_rag_llm/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_ing_nieur_syst_mes_embarqu_s_c_rust/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_ing_nieur_t_l_coms/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_inspecteur_des_finances_publiques/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_journaliste_fact_checker/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_juriste_en_droit_administratif/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_juriste_en_droit_social_expert_prud_hommes/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_kin_sith_rapeute_ergonome/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_libraire_expert_bibliographique/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_logisticien_gestionnaire_de_flux/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_m_decin_g_n_raliste_diagnostiqueur/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_m_t_orologue_agricole/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_mod_lisateur_animateur_3d/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_monteur_vid_o_r_alisateur/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_n_gociateur_immobilier/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_notaire/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_pharmacologue/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_physicien_quantique/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_pid_miologiste/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_psychiatre/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_psychologue_cognitif/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_r_dacteur_copywriter/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_sociologue_d_mographe/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_sommelier_expert_en_gastronomie/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_sp_cialiste_optimisation_mat_rielle_acc_l_ration_igpu_npu/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_sp_cialiste_robotique_automatisation/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_sp_cialiste_vision_par_ordinateur_traitement_du_langage_nlp/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_sre_observabilit/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_strat_ge_seo_trafic_manager/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_tacticien_militaire/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_trader_gestionnaire_de_portefeuille/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_traducteur_litt_raire_technique/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/agent_ux_ui_designer/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/mcp_agent_template/mcp_server.py root, mcp_endpoint, mcp_sse_endpoint, run_server 92
app/test_nokido_convergence.py run_all_tests 90
app/reembed_souverain.py get_embedding, main 88
app/forge_orchestration_benchmark.py OrchestrationBenchmark 87
tools/deno_spikerouter_diag.py run_diagnostic 87
app/netcfg/visio.py VisioParser 86
app/web_hub/forms/task_form.py render_task_form 86
tools/backfill_intent.py log, embed, main 86
tools/rotate_snapshots.py log 85
app/stress_test_firewall.py run_red_team_test 84
tools/apply_mcp_buffer_patch.py check, apply_patches, revert 83
tools/bench_embeddings.py bench_wasm, bench_ollama, bench_npu, run_bench 83
app/web_hub/vitals_panels.py render_subjective_tempo_panel, render_affective_state_panel, render_phenomenal_flow_panel, render_parietal_percept_panel 82
app/legacy/scapyshark.py MiniIDSAgent 81
app/netcfg/migrate.py migrate 81
app/agent_actuaire_statisticien/mcp_stdio.py run_stdio_loop 78
app/agent_administrateur_syst_mes_r_seaux/mcp_stdio.py run_stdio_loop 78
app/agent_analyste_quantitatif_quant/mcp_stdio.py run_stdio_loop 78
app/agent_analyste_risques/mcp_stdio.py run_stdio_loop 78
app/agent_analyste_soc_siem/mcp_stdio.py run_stdio_loop 78
app/agent_architecte_cloud/mcp_stdio.py run_stdio_loop 78
app/agent_architecte_dplg_urbaniste/mcp_stdio.py run_stdio_loop 78
app/agent_architecte_logiciel/mcp_stdio.py run_stdio_loop 78
app/agent_archiviste_pal_ographe/mcp_stdio.py run_stdio_loop 78
app/agent_astrophysicien/mcp_stdio.py run_stdio_loop 78
app/agent_avocat_d_affaires_fiscaliste/mcp_stdio.py run_stdio_loop 78
app/agent_bio_informaticien/mcp_stdio.py run_stdio_loop 78
app/agent_chasseur_de_t_tes_recruteur/mcp_stdio.py run_stdio_loop 78
app/agent_chef_de_produit_marketing/mcp_stdio.py run_stdio_loop 78
app/agent_chef_de_projet_product_owner/mcp_stdio.py run_stdio_loop 78
app/agent_chercheur_en_math_matiques_pures/mcp_stdio.py run_stdio_loop 78
app/agent_chimiste_organique_inorganique/mcp_stdio.py run_stdio_loop 78
app/agent_chirurgien_sp_cialis/mcp_stdio.py run_stdio_loop 78
app/agent_climatologue/mcp_stdio.py run_stdio_loop 78
app/agent_commercial_b2b_key_account_manager/mcp_stdio.py run_stdio_loop 78
app/agent_concepteur_cao_dao/mcp_stdio.py run_stdio_loop 78
app/agent_concepteur_micro_lectronique_fpga_asic/mcp_stdio.py run_stdio_loop 78
app/agent_conducteur_de_travaux/mcp_stdio.py run_stdio_loop 78
app/agent_consultant_en_strat_gie/mcp_stdio.py run_stdio_loop 78
app/agent_contr_leur_de_gestion_auditeur_financier/mcp_stdio.py run_stdio_loop 78
app/agent_criminologue/mcp_stdio.py run_stdio_loop 78
app/agent_cryptographe/mcp_stdio.py run_stdio_loop 78
app/agent_d_veloppeur_backend_frontend/mcp_stdio.py run_stdio_loop 78
app/agent_data_scientist_data_engineer/mcp_stdio.py run_stdio_loop 78
app/agent_directeur_de_la_supply_chain/mcp_stdio.py run_stdio_loop 78
app/agent_enseignant_chercheur/mcp_stdio.py run_stdio_loop 78
app/agent_expert_comptable/mcp_stdio.py run_stdio_loop 78
app/agent_expert_en_propri_t_intellectuelle_inpi/mcp_stdio.py run_stdio_loop 78
app/agent_expert_en_r_seaux_lectriques_smart_grids/mcp_stdio.py run_stdio_loop 78
app/agent_expert_en_structures_g_nie_civil/mcp_stdio.py run_stdio_loop 78
app/agent_fiabiliste/mcp_stdio.py run_stdio_loop 78
app/agent_g_n_ticien_biologiste_mol_culaire/mcp_stdio.py run_stdio_loop 78
app/agent_g_omaticien_cartographe_sig/mcp_stdio.py run_stdio_loop 78
app/agent_graphiste_directeur_artistique/mcp_stdio.py run_stdio_loop 78
app/agent_infirmier_dipl_m_d_tat/mcp_stdio.py run_stdio_loop 78
app/agent_ing_nieur_agronome/mcp_stdio.py run_stdio_loop 78
app/agent_ing_nieur_du_son_expert_haute_fid_lit_dsp/mcp_stdio.py run_stdio_loop 78
app/agent_ing_nieur_en_g_nie_m_canique/mcp_stdio.py run_stdio_loop 78
app/agent_ing_nieur_en_maintenance_industrielle/mcp_stdio.py run_stdio_loop 78
app/agent_ing_nieur_en_nergies_renouvelables/mcp_stdio.py run_stdio_loop 78
app/agent_ing_nieur_en_sciences_des_mat_riaux/mcp_stdio.py run_stdio_loop 78
app/agent_ing_nieur_en_thermodynamique_m_canique_des_fluides/mcp_stdio.py run_stdio_loop 78
app/agent_ing_nieur_en_traitement_des_eaux_d_chets/mcp_stdio.py run_stdio_loop 78
app/agent_ing_nieur_lean_manufacturing/mcp_stdio.py run_stdio_loop 78
app/agent_ing_nieur_nucl_aire/mcp_stdio.py run_stdio_loop 78
app/agent_ing_nieur_p_dagogique/mcp_stdio.py run_stdio_loop 78
app/agent_ing_nieur_qualit/mcp_stdio.py run_stdio_loop 78
app/agent_ing_nieur_rag_llm/mcp_stdio.py run_stdio_loop 78
app/agent_ing_nieur_syst_mes_embarqu_s_c_rust/mcp_stdio.py run_stdio_loop 78
app/agent_ing_nieur_t_l_coms/mcp_stdio.py run_stdio_loop 78
app/agent_inspecteur_des_finances_publiques/mcp_stdio.py run_stdio_loop 78
app/agent_journaliste_fact_checker/mcp_stdio.py run_stdio_loop 78
app/agent_juriste_en_droit_administratif/mcp_stdio.py run_stdio_loop 78
app/agent_juriste_en_droit_social_expert_prud_hommes/mcp_stdio.py run_stdio_loop 78
app/agent_kin_sith_rapeute_ergonome/mcp_stdio.py run_stdio_loop 78
app/agent_libraire_expert_bibliographique/mcp_stdio.py run_stdio_loop 78
app/agent_logisticien_gestionnaire_de_flux/mcp_stdio.py run_stdio_loop 78
app/agent_m_decin_g_n_raliste_diagnostiqueur/mcp_stdio.py run_stdio_loop 78
app/agent_m_t_orologue_agricole/mcp_stdio.py run_stdio_loop 78
app/agent_mod_lisateur_animateur_3d/mcp_stdio.py run_stdio_loop 78
app/agent_monteur_vid_o_r_alisateur/mcp_stdio.py run_stdio_loop 78
app/agent_n_gociateur_immobilier/mcp_stdio.py run_stdio_loop 78
app/agent_notaire/mcp_stdio.py run_stdio_loop 78
app/agent_pharmacologue/mcp_stdio.py run_stdio_loop 78
app/agent_physicien_quantique/mcp_stdio.py run_stdio_loop 78
app/agent_pid_miologiste/mcp_stdio.py run_stdio_loop 78
app/agent_psychiatre/mcp_stdio.py run_stdio_loop 78
app/agent_psychologue_cognitif/mcp_stdio.py run_stdio_loop 78
app/agent_r_dacteur_copywriter/mcp_stdio.py run_stdio_loop 78
app/agent_sociologue_d_mographe/mcp_stdio.py run_stdio_loop 78
app/agent_sommelier_expert_en_gastronomie/mcp_stdio.py run_stdio_loop 78
app/agent_sp_cialiste_optimisation_mat_rielle_acc_l_ration_igpu_npu/mcp_stdio.py run_stdio_loop 78
app/agent_sp_cialiste_robotique_automatisation/mcp_stdio.py run_stdio_loop 78
app/agent_sp_cialiste_vision_par_ordinateur_traitement_du_langage_nlp/mcp_stdio.py run_stdio_loop 78
app/agent_sre_observabilit/mcp_stdio.py run_stdio_loop 78
app/agent_strat_ge_seo_trafic_manager/mcp_stdio.py run_stdio_loop 78
app/agent_tacticien_militaire/mcp_stdio.py run_stdio_loop 78
app/agent_trader_gestionnaire_de_portefeuille/mcp_stdio.py run_stdio_loop 78
app/agent_traducteur_litt_raire_technique/mcp_stdio.py run_stdio_loop 78
app/agent_ux_ui_designer/mcp_stdio.py run_stdio_loop 78
app/mcp_agent_template/mcp_stdio.py run_stdio_loop 78
tools/bench_llamacpp_vs_ollama.py main 78
app/agent_architecte_cloud/agent_core.py AgentCore 77
app/forge_commit_guard.py CommitGuard, GuardResult 76
app/web_hub/forms/graph_edge_score_form.py render_graph_edge_score_form 75
app/forge_symbiosis_bridge.py SymbiosisBridge 73
tools/forge_bundle_primitives.py BundleSession 73
tools/forge_router_impact.py rejouabilite, couverture, charger, main 73
app/web_hub/forms/forge_deep_explore_form.py render_forge_deep_explore_form 71
app/web_hub/forms/orchestrate_form.py render_orchestrate_form 71
app/web_hub/forms/blackboard_propose_fact_form.py render_blackboard_propose_fact_form 70
app/web_hub/forms/event_form.py render_event_form 70
app/web_hub/forms/cross_platform_fs_form.py render_cross_platform_fs_form 68
app/web_hub/forms/read_form.py render_read_form 68
app/web_hub/forms/skill_form.py render_skill_form 68
tools/_patch_bridge.py — 68
tools/_trace_daemon.py — 68
tools/apply_migration.py main 68
app/test_chantier_2.py test_chantier_2 67
app/web_hub/module_card_html.py render_module_card 67
app/web_hub/forms/manage_forge_lifecycle_form.py render_manage_forge_lifecycle_form 66
app/forge_impact_agent.py analyze_file_structure 64
app/web_hub/forms/governed_edit_form.py render_governed_edit_form 62
app/web_hub/forms/rag_form.py render_rag_form 62
tools/purge_delete_snaps.py log 62
app/forge_graph_search.py search, stats 61
app/web_hub/forms/agy_config_form.py render_agy_config_form 59
app/web_hub/forms/tool_scope_form.py render_tool_scope_form 59
app/web_hub/forms/ask_form.py render_ask_form 55
app/web_hub/forms/research_agent_form.py render_research_agent_form 55
tools/forge_binary_graph.py BinaryGraph 55
app/agent_actuaire_statisticien/main.py main 54
app/agent_administrateur_syst_mes_r_seaux/main.py main 54
app/agent_analyste_quantitatif_quant/main.py main 54
app/agent_analyste_risques/main.py main 54
app/agent_analyste_soc_siem/main.py main 54
app/agent_architecte_cloud/main.py main 54
app/agent_architecte_dplg_urbaniste/main.py main 54
app/agent_architecte_logiciel/main.py main 54
app/agent_archiviste_pal_ographe/main.py main 54
app/agent_astrophysicien/main.py main 54
app/agent_avocat_d_affaires_fiscaliste/main.py main 54
app/agent_bio_informaticien/main.py main 54
app/agent_chasseur_de_t_tes_recruteur/main.py main 54
app/agent_chef_de_produit_marketing/main.py main 54
app/agent_chef_de_projet_product_owner/main.py main 54
app/agent_chercheur_en_math_matiques_pures/main.py main 54
app/agent_chimiste_organique_inorganique/main.py main 54
app/agent_chirurgien_sp_cialis/main.py main 54
app/agent_climatologue/main.py main 54
app/agent_commercial_b2b_key_account_manager/main.py main 54
app/agent_concepteur_cao_dao/main.py main 54
app/agent_concepteur_micro_lectronique_fpga_asic/main.py main 54
app/agent_conducteur_de_travaux/main.py main 54
app/agent_consultant_en_strat_gie/main.py main 54
app/agent_contr_leur_de_gestion_auditeur_financier/main.py main 54
app/agent_criminologue/main.py main 54
app/agent_cryptographe/main.py main 54
app/agent_d_veloppeur_backend_frontend/main.py main 54
app/agent_data_scientist_data_engineer/main.py main 54
app/agent_directeur_de_la_supply_chain/main.py main 54
app/agent_enseignant_chercheur/main.py main 54
app/agent_expert_comptable/main.py main 54
app/agent_expert_en_propri_t_intellectuelle_inpi/main.py main 54
app/agent_expert_en_r_seaux_lectriques_smart_grids/main.py main 54
app/agent_expert_en_structures_g_nie_civil/main.py main 54
app/agent_fiabiliste/main.py main 54
app/agent_g_n_ticien_biologiste_mol_culaire/main.py main 54
app/agent_g_omaticien_cartographe_sig/main.py main 54
app/agent_graphiste_directeur_artistique/main.py main 54
app/agent_infirmier_dipl_m_d_tat/main.py main 54
app/agent_ing_nieur_agronome/main.py main 54
app/agent_ing_nieur_du_son_expert_haute_fid_lit_dsp/main.py main 54
app/agent_ing_nieur_en_g_nie_m_canique/main.py main 54
app/agent_ing_nieur_en_maintenance_industrielle/main.py main 54
app/agent_ing_nieur_en_nergies_renouvelables/main.py main 54
app/agent_ing_nieur_en_sciences_des_mat_riaux/main.py main 54
app/agent_ing_nieur_en_thermodynamique_m_canique_des_fluides/main.py main 54
app/agent_ing_nieur_en_traitement_des_eaux_d_chets/main.py main 54
app/agent_ing_nieur_lean_manufacturing/main.py main 54
app/agent_ing_nieur_nucl_aire/main.py main 54
app/agent_ing_nieur_p_dagogique/main.py main 54
app/agent_ing_nieur_qualit/main.py main 54
app/agent_ing_nieur_rag_llm/main.py main 54
app/agent_ing_nieur_syst_mes_embarqu_s_c_rust/main.py main 54
app/agent_ing_nieur_t_l_coms/main.py main 54
app/agent_inspecteur_des_finances_publiques/main.py main 54
app/agent_journaliste_fact_checker/main.py main 54
app/agent_juriste_en_droit_administratif/main.py main 54
app/agent_juriste_en_droit_social_expert_prud_hommes/main.py main 54
app/agent_kin_sith_rapeute_ergonome/main.py main 54
app/agent_libraire_expert_bibliographique/main.py main 54
app/agent_logisticien_gestionnaire_de_flux/main.py main 54
app/agent_m_decin_g_n_raliste_diagnostiqueur/main.py main 54
app/agent_m_t_orologue_agricole/main.py main 54
app/agent_mod_lisateur_animateur_3d/main.py main 54
app/agent_monteur_vid_o_r_alisateur/main.py main 54
app/agent_n_gociateur_immobilier/main.py main 54
app/agent_notaire/main.py main 54
app/agent_pharmacologue/main.py main 54
app/agent_physicien_quantique/main.py main 54
app/agent_pid_miologiste/main.py main 54
app/agent_psychiatre/main.py main 54
app/agent_psychologue_cognitif/main.py main 54
app/agent_r_dacteur_copywriter/main.py main 54
app/agent_sociologue_d_mographe/main.py main 54
app/agent_sommelier_expert_en_gastronomie/main.py main 54
app/agent_sp_cialiste_optimisation_mat_rielle_acc_l_ration_igpu_npu/main.py main 54
app/agent_sp_cialiste_robotique_automatisation/main.py main 54
app/agent_sp_cialiste_vision_par_ordinateur_traitement_du_langage_nlp/main.py main 54
app/agent_sre_observabilit/main.py main 54
app/agent_strat_ge_seo_trafic_manager/main.py main 54
app/agent_tacticien_militaire/main.py main 54
app/agent_trader_gestionnaire_de_portefeuille/main.py main 54
app/agent_traducteur_litt_raire_technique/main.py main 54
app/agent_ux_ui_designer/main.py main 54
app/mcp_agent_template/main.py main 54
app/test_graph_traversal.py test_graph 53
app/web_hub/forms/forge_spawn_swarm_form.py render_forge_spawn_swarm_form 53
app/web_hub/forms/nokido_ensure_service_form.py render_nokido_ensure_service_form 53
app/web_hub/forms/query_form.py render_query_form 53
app/full_reindex_core.py reindex 52
app/legacy/RAGv2.py build_hybrid_rag, query_npu 52
app/web_hub/forms/graph_cve_propagate_form.py render_graph_cve_propagate_form 52
app/web_hub/forms/graph_ppr_form.py render_graph_ppr_form 52
tools/deno_audit.py check_health, read_log_file, grep_brain_ts, main 52
app/web_hub/forms/forge_trigger_audit_form.py render_forge_trigger_audit_form 51
tools/nokido_homeostasis.py main 51
app/test_lms_router.py test_lms_integration 50
app/web_hub/forms/blackboard_read_zone_form.py render_blackboard_read_zone_form 50
tools/test_intent_negotiation.py test_negotiation_flow 48
app/debug_graph_fix.py debug_one_file 46
app/_internal/_release_tmp.py — 45
app/web_hub/forms/agy_run_form.py render_agy_run_form 44
app/web_hub/forms/forge_call_dynamic_form.py render_forge_call_dynamic_form 44
app/web_hub/forms/oracle_python_repl_form.py render_oracle_python_repl_form 44
app/web_hub/forms/plan_form.py render_plan_form 44
app/web_hub/forms/route_dt_form.py render_route_dt_form 44
app/web_hub/forms/trigger_autonomous_evolution_form.py render_trigger_autonomous_evolution_form 44
tools/_dump_all_results.py — 44
app/agent_actuaire_statisticien/agent_core.py AgentCore 43
app/agent_administrateur_syst_mes_r_seaux/agent_core.py AgentCore 43
app/agent_analyste_quantitatif_quant/agent_core.py AgentCore 43
app/agent_analyste_risques/agent_core.py AgentCore 43
app/agent_analyste_soc_siem/agent_core.py AgentCore 43
app/agent_architecte_dplg_urbaniste/agent_core.py AgentCore 43
app/agent_architecte_logiciel/agent_core.py AgentCore 43
app/agent_archiviste_pal_ographe/agent_core.py AgentCore 43
app/agent_astrophysicien/agent_core.py AgentCore 43
app/agent_avocat_d_affaires_fiscaliste/agent_core.py AgentCore 43
app/agent_bio_informaticien/agent_core.py AgentCore 43
app/agent_chasseur_de_t_tes_recruteur/agent_core.py AgentCore 43
app/agent_chef_de_produit_marketing/agent_core.py AgentCore 43
app/agent_chef_de_projet_product_owner/agent_core.py AgentCore 43
app/agent_chercheur_en_math_matiques_pures/agent_core.py AgentCore 43
app/agent_chimiste_organique_inorganique/agent_core.py AgentCore 43
app/agent_chirurgien_sp_cialis/agent_core.py AgentCore 43
app/agent_climatologue/agent_core.py AgentCore 43
app/agent_commercial_b2b_key_account_manager/agent_core.py AgentCore 43
app/agent_concepteur_cao_dao/agent_core.py AgentCore 43
app/agent_concepteur_micro_lectronique_fpga_asic/agent_core.py AgentCore 43
app/agent_conducteur_de_travaux/agent_core.py AgentCore 43
app/agent_consultant_en_strat_gie/agent_core.py AgentCore 43
app/agent_contr_leur_de_gestion_auditeur_financier/agent_core.py AgentCore 43
app/agent_criminologue/agent_core.py AgentCore 43
app/agent_cryptographe/agent_core.py AgentCore 43
app/agent_d_veloppeur_backend_frontend/agent_core.py AgentCore 43
app/agent_data_scientist_data_engineer/agent_core.py AgentCore 43
app/agent_directeur_de_la_supply_chain/agent_core.py AgentCore 43
app/agent_enseignant_chercheur/agent_core.py AgentCore 43
app/agent_expert_comptable/agent_core.py AgentCore 43
app/agent_expert_en_propri_t_intellectuelle_inpi/agent_core.py AgentCore 43
app/agent_expert_en_r_seaux_lectriques_smart_grids/agent_core.py AgentCore 43
app/agent_expert_en_structures_g_nie_civil/agent_core.py AgentCore 43
app/agent_fiabiliste/agent_core.py AgentCore 43
app/agent_g_n_ticien_biologiste_mol_culaire/agent_core.py AgentCore 43
app/agent_g_omaticien_cartographe_sig/agent_core.py AgentCore 43
app/agent_graphiste_directeur_artistique/agent_core.py AgentCore 43
app/agent_infirmier_dipl_m_d_tat/agent_core.py AgentCore 43
app/agent_ing_nieur_agronome/agent_core.py AgentCore 43
app/agent_ing_nieur_du_son_expert_haute_fid_lit_dsp/agent_core.py AgentCore 43
app/agent_ing_nieur_en_g_nie_m_canique/agent_core.py AgentCore 43
app/agent_ing_nieur_en_maintenance_industrielle/agent_core.py AgentCore 43
app/agent_ing_nieur_en_nergies_renouvelables/agent_core.py AgentCore 43
app/agent_ing_nieur_en_sciences_des_mat_riaux/agent_core.py AgentCore 43
app/agent_ing_nieur_en_thermodynamique_m_canique_des_fluides/agent_core.py AgentCore 43
app/agent_ing_nieur_en_traitement_des_eaux_d_chets/agent_core.py AgentCore 43
app/agent_ing_nieur_lean_manufacturing/agent_core.py AgentCore 43
app/agent_ing_nieur_nucl_aire/agent_core.py AgentCore 43
app/agent_ing_nieur_p_dagogique/agent_core.py AgentCore 43
app/agent_ing_nieur_qualit/agent_core.py AgentCore 43
app/agent_ing_nieur_rag_llm/agent_core.py AgentCore 43
app/agent_ing_nieur_syst_mes_embarqu_s_c_rust/agent_core.py AgentCore 43
app/agent_ing_nieur_t_l_coms/agent_core.py AgentCore 43
app/agent_inspecteur_des_finances_publiques/agent_core.py AgentCore 43
app/agent_journaliste_fact_checker/agent_core.py AgentCore 43
app/agent_juriste_en_droit_administratif/agent_core.py AgentCore 43
app/agent_juriste_en_droit_social_expert_prud_hommes/agent_core.py AgentCore 43
app/agent_kin_sith_rapeute_ergonome/agent_core.py AgentCore 43
app/agent_libraire_expert_bibliographique/agent_core.py AgentCore 43
app/agent_logisticien_gestionnaire_de_flux/agent_core.py AgentCore 43
app/agent_m_decin_g_n_raliste_diagnostiqueur/agent_core.py AgentCore 43
app/agent_m_t_orologue_agricole/agent_core.py AgentCore 43
app/agent_mod_lisateur_animateur_3d/agent_core.py AgentCore 43
app/agent_monteur_vid_o_r_alisateur/agent_core.py AgentCore 43
app/agent_n_gociateur_immobilier/agent_core.py AgentCore 43
app/agent_notaire/agent_core.py AgentCore 43
app/agent_pharmacologue/agent_core.py AgentCore 43
app/agent_physicien_quantique/agent_core.py AgentCore 43
app/agent_pid_miologiste/agent_core.py AgentCore 43
app/agent_psychiatre/agent_core.py AgentCore 43
app/agent_psychologue_cognitif/agent_core.py AgentCore 43
app/agent_r_dacteur_copywriter/agent_core.py AgentCore 43
app/agent_sociologue_d_mographe/agent_core.py AgentCore 43
app/agent_sommelier_expert_en_gastronomie/agent_core.py AgentCore 43
app/agent_sp_cialiste_optimisation_mat_rielle_acc_l_ration_igpu_npu/agent_core.py AgentCore 43
app/agent_sp_cialiste_robotique_automatisation/agent_core.py AgentCore 43
app/agent_sp_cialiste_vision_par_ordinateur_traitement_du_langage_nlp/agent_core.py AgentCore 43
app/agent_strat_ge_seo_trafic_manager/agent_core.py AgentCore 43
app/agent_tacticien_militaire/agent_core.py AgentCore 43
app/agent_trader_gestionnaire_de_portefeuille/agent_core.py AgentCore 43
app/agent_traducteur_litt_raire_technique/agent_core.py AgentCore 43
app/agent_ux_ui_designer/agent_core.py AgentCore 43
app/web_hub/forms/get_function_dependencies_form.py render_get_function_dependencies_form 43
app/web_hub/forms/introspect_form.py render_introspect_form 43
app/web_hub/forms/loop_orchestrate_form.py render_loop_orchestrate_form 43
app/web_hub/forms/read_function_body_form.py render_read_function_body_form 43
tools/_gitingest_status.py — 43
tools/_run_python_new.py sync_run_python 43
tools/_chain_execute2.py main 41
app/audit_embeddings.py audit_missing_embeddings 40
app/mcp_agent_template/agent_core.py AgentCore 39
tools/_ami_ingest_worker.py main 39
tools/_chain_execute3.py main 39
app/web_hub/forms/docker_action_form.py render_docker_action_form 38
app/web_hub/forms/route_task_form.py render_route_task_form 38
app/web_hub/forms/write_form.py render_write_form 38
tools/read_blackboard.py main 38
app/web_hub/forms/crawl_form.py render_crawl_form 37
app/web_hub/forms/web_search_form.py render_web_search_form 37
app/web_hub/forms/bundle_form.py render_bundle_form 35
app/web_hub/forms/dyn_metier_dispatch_form.py render_dyn_metier_dispatch_form 35
app/web_hub/forms/dyn_orchestrate_form.py render_dyn_orchestrate_form 35
app/web_hub/forms/dyn_skill_forge_form.py render_dyn_skill_forge_form 35
app/web_hub/forms/agy_add_dir_form.py render_agy_add_dir_form 34
app/web_hub/forms/get_file_skeleton_form.py render_get_file_skeleton_form 34
tools/_nssm_check.py — 34
tools/launch_netcfg_8768.py — 33
app/setup_cython.py — 32
app/web_hub/forms/auto_test_form.py render_auto_test_form 31
tools/_chain_execute.py main 31
tools/_git_commit_t8.py — 29
tools/_run_send.py — 29
tools/_check_llamacpp.py — 27
tools/finalize_gitingest.py — 27
tools/test_npu_direct.py — 27
tools/_commit_gemini_work.py — 26
tools/_git_commit_batch11.py — 26
tools/_read_batch13_results.py — 26
app/web_hub/forms/forge_list_dynamic_tools_form.py render_forge_list_dynamic_tools_form 25
app/web_hub/forms/forge_stats_form.py render_forge_stats_form 25
app/read_claude_notifs.py — 24
tools/_commit_batch13_apply.py — 24
tools/_dump_batch13b.py — 24
tools/_read_inbox.py — 24
tools/read_claude_inbox.py — 24
tools/_resend_gemini8.py — 23
tools/read_gemini_messages.py — 23
tools/_ast_check.py — 22
tools/_chain_runner.py main 22
tools/_commit_dt_f35.py — 22
tools/check_forge_tools.py — 21
tools/merge_gitingest.py — 20
app/forge_tools_dynamic/tool_skill_forge.py skill_forge 19
tools/_commit_daemon_fix.py — 18
tools/_check_batch13.py — 17
tools/_dispatch_cohere.py — 17
tools/_test_actor.py — 17
app/setup_cython_simple.py — 16
tools/_check_git.py — 16
tools/_daemon_log.py — 16
tools/_fetch_b8.py — 16
tools/_git_commit_auto.py — 16
app/agent_actuaire_statisticien/config.py — 15
app/agent_administrateur_syst_mes_r_seaux/config.py — 15
app/agent_analyste_quantitatif_quant/config.py — 15
app/agent_analyste_risques/config.py — 15
app/agent_analyste_soc_siem/config.py — 15
app/agent_architecte_cloud/config.py — 15
app/agent_architecte_dplg_urbaniste/config.py — 15
app/agent_architecte_logiciel/config.py — 15
app/agent_archiviste_pal_ographe/config.py — 15
app/agent_astrophysicien/config.py — 15
app/agent_avocat_d_affaires_fiscaliste/config.py — 15
app/agent_bio_informaticien/config.py — 15
app/agent_chasseur_de_t_tes_recruteur/config.py — 15
app/agent_chef_de_produit_marketing/config.py — 15
app/agent_chef_de_projet_product_owner/config.py — 15
app/agent_chercheur_en_math_matiques_pures/config.py — 15
app/agent_chimiste_organique_inorganique/config.py — 15
app/agent_chirurgien_sp_cialis/config.py — 15
app/agent_climatologue/config.py — 15
app/agent_commercial_b2b_key_account_manager/config.py — 15
app/agent_concepteur_cao_dao/config.py — 15
app/agent_concepteur_micro_lectronique_fpga_asic/config.py — 15
app/agent_conducteur_de_travaux/config.py — 15
app/agent_consultant_en_strat_gie/config.py — 15
app/agent_contr_leur_de_gestion_auditeur_financier/config.py — 15
app/agent_criminologue/config.py — 15
app/agent_cryptographe/config.py — 15
app/agent_d_veloppeur_backend_frontend/config.py — 15
app/agent_data_scientist_data_engineer/config.py — 15
app/agent_directeur_de_la_supply_chain/config.py — 15
app/agent_enseignant_chercheur/config.py — 15
app/agent_expert_comptable/config.py — 15
app/agent_expert_en_propri_t_intellectuelle_inpi/config.py — 15
app/agent_expert_en_r_seaux_lectriques_smart_grids/config.py — 15
app/agent_expert_en_structures_g_nie_civil/config.py — 15
app/agent_fiabiliste/config.py — 15
app/agent_g_n_ticien_biologiste_mol_culaire/config.py — 15
app/agent_g_omaticien_cartographe_sig/config.py — 15
app/agent_graphiste_directeur_artistique/config.py — 15
app/agent_infirmier_dipl_m_d_tat/config.py — 15
app/agent_ing_nieur_agronome/config.py — 15
app/agent_ing_nieur_du_son_expert_haute_fid_lit_dsp/config.py — 15
app/agent_ing_nieur_en_g_nie_m_canique/config.py — 15
app/agent_ing_nieur_en_maintenance_industrielle/config.py — 15
app/agent_ing_nieur_en_nergies_renouvelables/config.py — 15
app/agent_ing_nieur_en_sciences_des_mat_riaux/config.py — 15
app/agent_ing_nieur_en_thermodynamique_m_canique_des_fluides/config.py — 15
app/agent_ing_nieur_en_traitement_des_eaux_d_chets/config.py — 15
app/agent_ing_nieur_lean_manufacturing/config.py — 15
app/agent_ing_nieur_nucl_aire/config.py — 15
app/agent_ing_nieur_p_dagogique/config.py — 15
app/agent_ing_nieur_qualit/config.py — 15
app/agent_ing_nieur_rag_llm/config.py — 15
app/agent_ing_nieur_syst_mes_embarqu_s_c_rust/config.py — 15
app/agent_ing_nieur_t_l_coms/config.py — 15
app/agent_inspecteur_des_finances_publiques/config.py — 15
app/agent_journaliste_fact_checker/config.py — 15
app/agent_juriste_en_droit_administratif/config.py — 15
app/agent_juriste_en_droit_social_expert_prud_hommes/config.py — 15
app/agent_kin_sith_rapeute_ergonome/config.py — 15
app/agent_libraire_expert_bibliographique/config.py — 15
app/agent_logisticien_gestionnaire_de_flux/config.py — 15
app/agent_m_decin_g_n_raliste_diagnostiqueur/config.py — 15
app/agent_m_t_orologue_agricole/config.py — 15
app/agent_mod_lisateur_animateur_3d/config.py — 15
app/agent_monteur_vid_o_r_alisateur/config.py — 15
app/agent_n_gociateur_immobilier/config.py — 15
app/agent_notaire/config.py — 15
app/agent_pharmacologue/config.py — 15
app/agent_physicien_quantique/config.py — 15
app/agent_pid_miologiste/config.py — 15
app/agent_psychiatre/config.py — 15
app/agent_psychologue_cognitif/config.py — 15
app/agent_r_dacteur_copywriter/config.py — 15
app/agent_sociologue_d_mographe/config.py — 15
app/agent_sommelier_expert_en_gastronomie/config.py — 15
app/agent_sp_cialiste_optimisation_mat_rielle_acc_l_ration_igpu_npu/config.py — 15
app/agent_sp_cialiste_robotique_automatisation/config.py — 15
app/agent_sp_cialiste_vision_par_ordinateur_traitement_du_langage_nlp/config.py — 15
app/agent_sre_observabilit/config.py — 15
app/agent_strat_ge_seo_trafic_manager/config.py — 15
app/agent_tacticien_militaire/config.py — 15
app/agent_trader_gestionnaire_de_portefeuille/config.py — 15
app/agent_traducteur_litt_raire_technique/config.py — 15
app/agent_ux_ui_designer/config.py — 15
app/mcp_agent_template/config.py — 15
tools/_commit_coherence_gate.py — 15
app/forge_tools_dynamic/tool_orchestrate.py orchestrate 14
tools/_check_batch13b.py — 14
tools/_fix_batch13_status.py — 14
tools/_check_batch8.py — 13
tools/bench_fixtures/gd_007_nmlp_shape.py — 12
tools/_diag_local.py — 11
tools/_check_batch8b.py — 10
tools/_push.py — 9
tools/bench_fixtures/gd_005_train_cost.py — 9
tools/bench_fixtures/gd_013_git_log.py — 9
tools/bench_fixtures/gd_019_rag_search.py — 9
tools/bench_fixtures/gd_006_costnet_params.py — 8
tools/bench_fixtures/gd_017_vlm_import.py — 8
tools/diag_emb.py — 8
tools/bench_fixtures/gd_015_heartbeat.py — 7
tools/bench_fixtures/gd_002_hub_health.py — 6
tools/bench_fixtures/gd_008_rag_count.py — 6
tools/bench_fixtures/gd_009_null_emb.py — 6
tools/bench_fixtures/gd_010_fts_search.py — 6
tools/bench_fixtures/gd_011_dpo_count.py — 6
tools/bench_fixtures/gd_012_traces_count.py — 6
tools/bench_fixtures/gd_014_nssm_check.py — 5
tools/bench_fixtures/gd_016_pt_files.py — 5
tools/bench_fixtures/gd_018_ollama_ping.py — 5
app/forge_tools_dynamic/__init__.py — 2
app/services/__init__.py — 2
tools/__init__.py — 2

Clone this wiki locally