Repository navigation
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
127cf924a1d23865e7377c57001c16a1ee1a1c24on 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.
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
Nokido-labs/nokido · AGPL-3.0 (licence commerciale disponible) · wiki genere depuis docs/wiki de v0.20.11 (19c350a) — corrections : ouvrir une issue ou une PR sur le depot.
Nokido
English
- 01 — Installation
- 02 — Quick Start
- 03 — Architecture overview
- 04 — MCP clients setup
- 05 — LLM providers
- 06 — Hub API reference
- 07 — Security model
- 08 — Vault & secrets
- 09 — TUI reference
- 10 — Docker profiles
- 11 — Cross-OS notes
- 12 — AMI cognitive stack
- 13 — Hardware roadmap
- 14 — Troubleshooting
- 15 — Glossary
- 16 — FAQ
- 17 — First launch
- 18 — Launchers & service files
- 19 — Knowledge Pack
- 20 — Modules Reference
- 21 — SSoT Cross-CLI
- 22 — Governance, cognition & self-safety
- 23 — Orchestration & Workflows
- 24 — Cloud peers (claude.ai, ChatGPT)
- OpenAI Gateway souverain
- Nokido — Wiki
- SearXNG Keeper
- Web Egress Gateway —
:7779
Français
- Accueil
- 01 — Installation
- 02 — Démarrage rapide
- 03 — Aperçu architecture
- 04 — Configuration clients MCP
- 05 — Providers LLM
- 06 — Référence API hub
- 07 — Modèle de sécurité
- 08 — Vault & secrets
- 09 — Référence TUI
- 10 — Profils Docker
- 11 — Notes multi-OS
- 12 — Pile cognitive AMI
- 13 — Roadmap matérielle
- 14 — Troubleshooting
- 15 — Glossaire
- 16 — FAQ
- 17 — Premier lancement
- 18 — Lanceurs & fichiers services
- 19 — Knowledge Pack
- 20 — Référence des modules
- 21 — SSoT Cross-CLI
- 22 — Gouvernance, cognition & auto-sûreté
- 23 — Orchestration & workflows
- 24 — Pairs cloud (claude.ai, ChatGPT)