Files
nas-runbooks/_INDEX.md
T

269 lines
53 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# NAS Runbooks — Index
> Référentiel opérationnel partagé entre hermes-tt, hermes-nyora, hermes-perso.
> Chaque instance écrit uniquement dans son dossier ; tous les dossiers sont lisibles par tous.
> **Consolidation du 09/07/2026** : doublons fusionnés, runbooks obsolètes purgés, runbooks métier re-sphérés (détail en bas de page).
---
## common — Protocoles & référence
| Runbook | Date | Tags |
|---------|------|------|
| [Audit indépendant du chantier de désaccentuation systémique (SOUL.md, DSH-VPS, NAS, nyora-doc-api, nyora-veille) — vérification des correctifs Claude, audit nyora-doc-api, détection et correction de 6 foyers résiduels (tourisme-tunisie, veille-ia-automation, nas-executor, hermes-tt api-calls/SOUL, opportunites.py)](common/audit-gemini-accents-20260901.md) | 2026-09-01 | audit, accents, langue, soul-md, dsh, docx, context-hub, nyora-doc-api, qualite-production |
| [Désaccentuation systémique des prompts système et générateurs de documents (SOUL.md, PROTOCOL-INFRA.md, DSH) — cause racine identifiée (corps de SOUL.md jamais réaccentué en 07/2026) et corrigée sur les 3 instances NAS + DSH-VPS, règle de langue permanente ajoutée dans context-hub](common/desaccentuation-systemique-soul-md-20260901.md) | 2026-09-01 | accents, langue, soul-md, protocol-infra, dsh, docx, context-hub |
| [Correctif nyora-convert-api : Heuristique text/vision fiabilisee & decoupage multi-lots sans troncature (pack-mp1, elimination limite 45k, marqueurs de pages)](common/nyora-convert-api-fix-multi-lots-heuristique-vision-20260830.md) | 2026-08-30 | nyora-convert-api, ocr, vision, pdf, multi-lots, bifrost |
| [Audit total NAS et remise a niveau du ports-registry.md (55 containers reels, gotenberg gsparc clarifie, hermes-mail-browser, reglement-mcp et hermes-watchdog-telegram documentes)](common/audit-total-nas-ports-registry-20260830.md) | 2026-08-30 | infra, ports-registry, audit, gotenberg, hermes-mail-browser, hermes-watchdog-telegram |
| [Passerelle MCP dédiée NyoraNotes (multi-agent, StreamableHTTP port 3098, scoping strict par dossier, connecteur DSH validé)](common/nyora-notes-mcp-gateway-deploiement-20260826.md) | 2026-08-26 | nyora-notes-mcp, mcp, streamable-http, scoping, dsh, tailscale |
| [Réduction hermes-hub en dispatcher minimal & stabilisation DSH (historique, WebSockets, mémoire NyoraNotes)](common/decommission-switcher-hub-stabilisation-dsh-20260826.md) | 2026-08-26 | dsh, hermes-hub, dispatcher, websocket, history-fix, nyora-notes |
| [Décommission hub.yesminedor.tn (multi-univers) au profit de dsh-hub/files-hub + Telegram ; historique DSH root-cause (WebSocket describeFace) ; mémoire NyoraNotes + identité + autonomie scopée Gitea pour DSH](common/brief-gemini-dsh-autonomie-hub-decommission-20260826.md) | 2026-08-26 | dsh, hermes-hub, decommission, nyora-notes, brief-gemini |
| [Brief v3 Nyora/Gemini — MAJ Hermes Agent, Bot Mode accepte (v2026.8.19), architecture Manager + bots specialistes, verrou reseau bloquant identifie (reseau Docker n8n partage entre les 3 instances)](common/brief-gemini-hermes-botmode-20260825-v3.md) | 2026-08-25 | hermes, bot-mode, browser-use, n8n-network, versioning, brief-gemini |
| [Hermes absent du suivi de versions infra — 4 lignes ajoutees (hermes-agent, hermes-workspace, hermes-nabil, hermes-hub), decisions de pin/miroir VPS actees](common/hermes-version-tracking.md) | 2026-08-25 | hermes, baserow, n8n, versioning, infra_versions |
| [Hermes Hub — Déploiement et Exploitation Multi-Univers sur VPS (FastAPI, proxy async, design tokens, Tailscale)](common/hermes-hub-deploiement.md) | 2026-08-19 | hermes, hub, multi-univers, vps, tailscale, cloudflare-access, fastapi |
| [Déploiement Superpowers — Flotte Hermes Agent, Claude Code & Antigravity (procédure, piège TLS 1.3, piège SSH PATH Synology)](common/superpowers-hermes-installation.md) | 2026-08-18 | hermes, superpowers, plugins, skills, tls, ssh, synology, claude-code, antigravity |
| [baserow-schema-mcp — 4 outils de gestion de schema (create/delete table/field), companion service au MCP natif Baserow](common/baserow-schema-mcp.md) | 2026-08-17 | baserow, mcp, schema, jwt |
| [reglement-definitif-api — fix WORKER TIMEOUT/OOM (lazy WeasyPrint, gunicorn 1 worker) + serveur MCP reglement-mcp + intégration hermes-tt](common/reglement-definitif-fix-mcp.md) | 2026-08-23 | mcp, docker, gunicorn, weasyprint, tunisie-telecom, gemini |
| [Rotation des secrets — inventaire, portée réelle par empreinte, anomalies inter-sphères](common/rotation-secrets-inventaire.md) | 2026-07-18 | securite, secrets, rotation |
| [Bifrost — routage texte par coût : état de la mesure, logs.db, clés virtuelles, incident 401](common/bifrost-routage-par-cout.md) | 2026-07-18 | bifrost, llm, cout, routage |
| [Skills n8n officiels (n8n-io/skills) — socle 14 skills, tap auto 3 instances](common/n8n-skills-officiels.md) | 2026-07-10 | n8n, skills, hermes, tap |
| [Adoption skill i-have-adhd — sortie directe, 4 instances (3 NAS + hermes-nabil VPS)](common/i-have-adhd-skill-adoption.md) | 2026-07-31 | productivity, skills, hermes |
| [PROTOCOL-INFRA — règles opérationnelles](common/PROTOCOL-INFRA.md) | maj continue | infra, protocole |
| [Ports Registry NAS (source de vérité services — miroir de /volume1/docker/ports-registry.md)](common/ports-registry.md) | 2026-07-04 | infra, ports, registry |
| [mcp-nas — référence opérationnelle consolidée (run_command v2, contraintes post-audit)](common/mcp-nas-reference.md) | 2026-07-09 | infra, mcp-nas, scripting |
| [VPS memory-node — Objectif A : nœud mémoire persistante (miroir git + rsync + restic, pull depuis VPS)](common/vps-memory-node.md) | 2026-07-10 | vps, memoire, backup, restic, tailscale |
| [Git push depuis mcp-nas (172.17.0.1, API Gitea si git absent)](common/git-push-depuis-mcp-nas.md) | 2026-07-08 | infra, git, mcp-nas |
| [Boîte à idées Claude (radar non décisionnel)](common/boite-a-idees-claude.md) | 2026-07-08 | infra, veille, ideation |
| [Vision fondatrice Nyora + SOUL.md 3 instances](common/nyora-definition-fondatrice.md) | 2026-06-23 | nyora, soul, vision |
## common — Sécurité
| Runbook | Date | Tags |
|---------|------|------|
| [Accès Docker complet (socket + dossier projets dédié) pour les 3 instances Hermes — accès root-équivalent sur l'hôte NAS, délégation assumée par Nabil](common/hermes-docker-access-projects-20260829.md) | 2026-08-29 | hermes, docker, socket, securite, deploiement |
| [Passerelle MCP dédiée NyoraNotes (multi-agent, StreamableHTTP port 3098, scoping strict par dossier, connecteur DSH validé)](common/nyora-notes-mcp-gateway-deploiement-20260826.md) | 2026-08-26 | nyora-notes-mcp, mcp, streamable-http, scoping, dsh, tailscale |
| [Réduction hermes-hub en dispatcher minimal & stabilisation DSH (historique, WebSockets, mémoire NyoraNotes)](common/decommission-switcher-hub-stabilisation-dsh-20260826.md) | 2026-08-26 | dsh, hermes-hub, dispatcher, websocket, history-fix, nyora-notes |
| [Hermes Hub — Déploiement et Exploitation Multi-Univers sur VPS (FastAPI, proxy async, design tokens, Tailscale)](common/hermes-hub-deploiement.md) | 2026-08-19 | hermes, hub, multi-univers, vps, tailscale, cloudflare-access, fastapi |
| [Audit sécurité réseau NAS (surface WAN, crowdsec, firewall)](common/audit-securite-reseau-nas-20260703.md) | 2026-07-03 | securite, reseau, wan |
| [Audit sécurité mcp-nas — RCE root anonyme, P0 fermés + durcissement (reste: rotation)](common/mcp-nas-security-audit.md) | 2026-07-09 | securite, mcp-nas, rce, rotation |
| [Permissions credentials/clés — piège 777](common/permissions-credentials-cles-chmod.md) | 2026-07-05 | securite, credentials, chmod |
| [Décommission wg-easy (remplacé par Tailscale)](common/wg-easy-decommission-tailscale.md) | 2026-07-08 | wireguard, tailscale, vpn |
| [Pattern IP sessions Claude-User (mcp-vps/mcp-nas) + incident exposition tokens Gitea](common/mcp-sessions-pattern.md) | 2026-07-12 | securite, mcp, faux-positif, tokens |
| [Tailscale + NyoraNotes multi-instance — pare-feu DSM par interface, onboarding hermes-nabil / hermes-desktop-yesmine](common/tailscale-firewall-nyora-notes-onboarding-13-08-2026.md) | 2026-08-13 | infra, tailscale, firewall, dsm, nyora-notes |
| [context-hub — filtrage per-agent du scope infra (bruit mcp-nas retire pour Gemini/Hermes) + purge cle obsolete](common/context-hub-filtrage-scope-par-agent.md) | 2026-08-16 | securite, context-hub, rbac, mcp-nas |
## common — Stack & fiabilité
| Runbook | Date | Tags |
|---------|------|------|
| [Passerelle MCP dédiée NyoraNotes (multi-agent, StreamableHTTP port 3098, scoping strict par dossier, connecteur DSH validé)](common/nyora-notes-mcp-gateway-deploiement-20260826.md) | 2026-08-26 | nyora-notes-mcp, mcp, streamable-http, scoping, dsh, tailscale |
| [Réduction hermes-hub en dispatcher minimal & stabilisation DSH (historique, WebSockets, mémoire NyoraNotes)](common/decommission-switcher-hub-stabilisation-dsh-20260826.md) | 2026-08-26 | dsh, hermes-hub, dispatcher, websocket, history-fix, nyora-notes |
| [Hermes Hub — Déploiement et Exploitation Multi-Univers sur VPS (FastAPI, proxy async, design tokens, Tailscale)](common/hermes-hub-deploiement.md) | 2026-08-19 | hermes, hub, multi-univers, vps, tailscale, cloudflare-access, fastapi |
| [Écriture naturelle + accès Firecrawl sur les 4 instances Hermes (TT/Nyora/Perso/Nabil)](common/ecriture-naturelle-firecrawl-4-instances.md) | 2026-07-19 | hermes, soul-md, firecrawl, ecriture |
| [Telegram duplication (flood control overflow-split) + Gitea auth (GITEA_DEPLOY_TOKEN)](common/telegram-flood-control-overflow-split-et-gitea-deploy-token.md) | 2026-07-16 | telegram, gitea, git, hermes |
| [Fragilités de dépendances stack 43 containers](common/fragilites-dependances-stack-20260703.md) | 2026-07-03 | stack, restart, couplage |
| [Correctifs fragilités appliqués (rla-api, n8n, bifrost-proxy)](common/correctifs-fragilites-application-20260704.md) | 2026-07-04 | correctifs, healthcheck |
| [rla-api — Baserow ECONNREFUSED malgré .env corrigé (dotenv override:true baké dans l'image, double source de config)](common/rla-api-dotenv-override-baserow-https.md) | 2026-08-20 | rla-api, baserow, baserow-http-interne, dotenv, portainer-api |
| [PDFKit — doc.widthOfString() en boucle corrompt silencieusement le flux de contenu (rla-api)](common/pdfkit-widthofstring-corruption-troncature.md) | 2026-08-22 | rla-api, pdfkit, pdf, troncature, portainer-api |
| [Baserow mem_limit 2g](common/baserow-memlimit.md) | 2026-06-29 | baserow, memoire |
| [Cache SSD write-back fin de vie + backup USB](common/ssd-cache-endurance-usb-backup.md) | 2026-07-04 | ssd, backup, usb |
| [Telegram — réponses dupliquées 4-5× (getUpdates/NAT TT) + fix DNS agents](common/telegram-duplication-getupdates-offset.md) | 2026-07-09 | telegram, hermes, dns, nat-tt |
| [Nettoyage stack documentaire (historique containers retirés)](common/cleanup-stack-documentaire.md) | 2026-07-09 | cleanup, doc-stack |
| [Migration cin-search-tt hors-Docker vers Docker + SMTP OVH->Infomaniak + regression RAS hardcode Baserow (audit /volume1/web)](common/cin-search-tt-migration-docker.md) | 2026-07-24 | migration, docker, smtp, portainer-api, baserow-http-interne, hardcode-bug |
| [VPS — qBittorrent Docker + VPN WireGuard intégré, kill-switch, qb.yesminedor.tn (démolition qbt-nox/policy routing UID)](common/vps-qbittorrent-docker.md) | 2026-07-12 | vps, qbittorrent, wireguard, vpn, kill-switch, cloudflare-tunnel |
## common — LLM (Bifrost, OpenCode, n8n)
| Runbook | Date | Tags |
|---------|------|------|
| [Passerelle MCP dédiée NyoraNotes (multi-agent, StreamableHTTP port 3098, scoping strict par dossier, connecteur DSH validé)](common/nyora-notes-mcp-gateway-deploiement-20260826.md) | 2026-08-26 | nyora-notes-mcp, mcp, streamable-http, scoping, dsh, tailscale |
| [Réduction hermes-hub en dispatcher minimal & stabilisation DSH (historique, WebSockets, mémoire NyoraNotes)](common/decommission-switcher-hub-stabilisation-dsh-20260826.md) | 2026-08-26 | dsh, hermes-hub, dispatcher, websocket, history-fix, nyora-notes |
| [Hermes Hub — Déploiement et Exploitation Multi-Univers sur VPS (FastAPI, proxy async, design tokens, Tailscale)](common/hermes-hub-deploiement.md) | 2026-08-19 | hermes, hub, multi-univers, vps, tailscale, cloudflare-access, fastapi |
| [Migration cerveau Hermes DeepSeek V4 Flash → Mimo V2.5 (perso, HARNESS/dsh-vps, tt, nyora) — desynchro git/live, auth key_env cassee sur Bifrost, context_length/max_tokens recalibres. Suite 18/08 : straggler nyora-veille corrige + Tirith reste sur DeepSeek (exception assumee, decision Nabil)](common/migration-mimo-v25-cerveau-hermes.md) | 2026-08-17 -> 2026-08-18 | mimo, hermes, migration, bifrost, opencode-go, context-length, nyora-veille, tirith |
| [Accès Bifrost (passerelle LLM, vision/OCR)](common/bifrost-access.md) | 2026-07-11 | bifrost, llm, x-bf-vk, bifrost-proxy, hermes-desktop |
| [Bifrost — incidents VK & fallback (consolidé 23/06 + 06/07 + 11/07)](common/bifrost-vk-incidents.md) | 2026-07-11 | bifrost, vk, opencode, cout |
| [Migration provider → OpenCode Go (consolidé, état des modèles à jour)](common/opencode-go-migration.md) | 2026-07-09 | opencode, hermes, family-help |
| [n8n Code nodes LLM vers Bifrost obligatoire](common/runbook-n8n-llm-bifrost.md) | 2026-06-15 | n8n, bifrost, code-node |
| [Génération/édition d'images IA (nano-banana)](common/openrouter-image-gen.md) | 2026-06-14 | openrouter, image |
## common — Hermes (plateforme)
| Runbook | Date | Tags |
|---------|------|------|
| [Accents disparaissant en ASCII -- bug fleet-wide sur les 5 conteneurs Hermes (LANG/LC_ALL/PYTHONIOENCODING/PYTHONUTF8 manquants)](common/accents-fleetwide-utf8-fix-20260828.md) | 2026-08-28 | accents, utf-8, hermes, fleet-wide, docker-compose, encoding |
| [Passerelle MCP dédiée NyoraNotes (multi-agent, StreamableHTTP port 3098, scoping strict par dossier, connecteur DSH validé)](common/nyora-notes-mcp-gateway-deploiement-20260826.md) | 2026-08-26 | nyora-notes-mcp, mcp, streamable-http, scoping, dsh, tailscale |
| [Réduction hermes-hub en dispatcher minimal & stabilisation DSH (historique, WebSockets, mémoire NyoraNotes)](common/decommission-switcher-hub-stabilisation-dsh-20260826.md) | 2026-08-26 | dsh, hermes-hub, dispatcher, websocket, history-fix, nyora-notes |
| [Hub public skills.sh — identifiants, scanner de securite, override manuel DANGEROUS (video Dr Firas)](common/hermes-skills-hub-scanner-securite.md) | 2026-08-20 | hermes, skills, scanner, securite, hub |
| [Hermes Hub — Déploiement et Exploitation Multi-Univers sur VPS (FastAPI, proxy async, design tokens, Tailscale)](common/hermes-hub-deploiement.md) | 2026-08-19 | hermes, hub, multi-univers, vps, tailscale, cloudflare-access, fastapi |
| [Mise à jour des 3 instances Hermes](common/RUNBOOK-HERMES-UPDATE.md) | 2026-06-15 | hermes, update, compose |
| [Skills concurrents PDF/DOCX/PPTX/XLSX archivés (anti-bypass nyora-doc-api)](common/skills-concurrents-pdf-docx-pptx-xlsx.md) | 2026-07 | hermes, skills, doc |
| [Audit data/ 3 instances — écarts & pièges (cron/skill archivé, root:root, purge backups)](common/audit-data-hermes-20260709.md) | 2026-07-09 | hermes, data, audit |
| [Génération chunkée tâches volumineuses (>1000 mots)](common/generation-chunkee-taches-volumineuses.md) | 2026-07 | hermes, skill, chunk |
| [Skill sobriété-code (7 règles Ponytail)](common/sobriete-code-ponytail.md) | 2026-07-05 | skill, code, tokens |
| [Envoi de fichiers via Telegram (sendDocument)](common/envoi-fichier-telegram.md) | 2026-07-04 | telegram, senddocument |
| [Telegram rich_messages flag + restart Portainer API](common/rich-messages-telegram.md) | 2026-06-24 | telegram, rich-messages |
| [Partage Pingvin gros fichiers](common/partage-pingvin-gros-fichiers.md) | 2026-07 | pingvin, partage |
| [Tap Gitea privé hermes-skills](common/tap-gitea-hermes-skills.md) | 2026-06-17 | gitea, skills |
## common — Documents (nyora-doc-api)
| Runbook | Date | Tags |
|---------|------|------|
| [Passerelle MCP dédiée NyoraNotes (multi-agent, StreamableHTTP port 3098, scoping strict par dossier, connecteur DSH validé)](common/nyora-notes-mcp-gateway-deploiement-20260826.md) | 2026-08-26 | nyora-notes-mcp, mcp, streamable-http, scoping, dsh, tailscale |
| [Réduction hermes-hub en dispatcher minimal & stabilisation DSH (historique, WebSockets, mémoire NyoraNotes)](common/decommission-switcher-hub-stabilisation-dsh-20260826.md) | 2026-08-26 | dsh, hermes-hub, dispatcher, websocket, history-fix, nyora-notes |
| [Hermes Hub — Déploiement et Exploitation Multi-Univers sur VPS (FastAPI, proxy async, design tokens, Tailscale)](common/hermes-hub-deploiement.md) | 2026-08-19 | hermes, hub, multi-univers, vps, tailscale, cloudflare-access, fastapi |
| [nyora-doc-api v3 Premium — guide d'usage Hermes](common/nyora-doc-api-hermes-guide.md) | 2026-07-01 | nyora-doc-api, docx, xlsx, pptx, pdf |
| [nyora-doc-api — procédure rebuild & déploiement](common/nyora-doc-api-rebuild.md) | 2026-07-09 | nyora-doc-api, docker, rebuild |
| [nyora-doc-api mode template — cause racine non-restyle + restyle=full (déployé 08/07)](common/nyora-doc-api-template-restyle-cause-racine.md) | 2026-07-08 | nyora-doc-api, template |
## common — Divers
| Runbook | Date | Tags |
|---------|------|------|
| [Passerelle MCP dédiée NyoraNotes (multi-agent, StreamableHTTP port 3098, scoping strict par dossier, connecteur DSH validé)](common/nyora-notes-mcp-gateway-deploiement-20260826.md) | 2026-08-26 | nyora-notes-mcp, mcp, streamable-http, scoping, dsh, tailscale |
| [Réduction hermes-hub en dispatcher minimal & stabilisation DSH (historique, WebSockets, mémoire NyoraNotes)](common/decommission-switcher-hub-stabilisation-dsh-20260826.md) | 2026-08-26 | dsh, hermes-hub, dispatcher, websocket, history-fix, nyora-notes |
| [Hermes Hub — Déploiement et Exploitation Multi-Univers sur VPS (FastAPI, proxy async, design tokens, Tailscale)](common/hermes-hub-deploiement.md) | 2026-08-19 | hermes, hub, multi-univers, vps, tailscale, cloudflare-access, fastapi |
| [Hébergement de sites statiques produits par Hermes](common/HEBERGEMENT-SITES-STATIQUES.md) | 2026-06-20 | hebergement, statique |
| [HTML vers PNG headless (Puppeteer)](common/html-to-png-puppeteer.md) | 2026-07-09 | html, png, puppeteer |
| [gstack — évaluation MacBook vs Hermes](common/GSTACK-EVALUATION-MACBOOK-VS-HERMES.md) | 2026-06 | evaluation, gstack |
## hermes-tt
| Runbook | Date | Tags |
|---------|------|------|
| [Passerelle MCP dédiée NyoraNotes (multi-agent, StreamableHTTP port 3098, scoping strict par dossier, connecteur DSH validé)](common/nyora-notes-mcp-gateway-deploiement-20260826.md) | 2026-08-26 | nyora-notes-mcp, mcp, streamable-http, scoping, dsh, tailscale |
| [Réduction hermes-hub en dispatcher minimal & stabilisation DSH (historique, WebSockets, mémoire NyoraNotes)](common/decommission-switcher-hub-stabilisation-dsh-20260826.md) | 2026-08-26 | dsh, hermes-hub, dispatcher, websocket, history-fix, nyora-notes |
| [Hermes Hub — Déploiement et Exploitation Multi-Univers sur VPS (FastAPI, proxy async, design tokens, Tailscale)](common/hermes-hub-deploiement.md) | 2026-08-19 | hermes, hub, multi-univers, vps, tailscale, cloudflare-access, fastapi |
| [nyora-notes-tt — doublons hérités clos (vérifié 0 candidat) + directive Nabil 2 sources de vérité mail/OneDrive](hermes-tt/nyora-notes-tt-doublons-heritages-clos-2-sources-verite-12-08-2026.md) | 2026-08-12 | mail, rag-mail, dedup, nyora-notes-tt, onedrive, decision |
| [rla-api : gestion utilisateurs & superadmin (piège users.json baké)](hermes-tt/rla-api-users-superadmin.md) | 2026-07-04 | rla-api, users, bcrypt |
| [Kanban multi-agent évaluation AO](hermes-tt/kanban-evaluateur-ao.md) | 2026-06-18 | kanban, ao |
| [hermes-mail-browser — /inbox renvoyait des mails perimes (staleness liste virtualisee OWA)](hermes-tt/mail-o365-hermes-mail-browser-inbox-staleness.md) | 2026-07-24 | mail, o365, owa, playwright, hermes-mail-browser |
| [hermes-mail-browser -- recherche precise + fix scroll liste virtualisee (limite 5-7 mails)](hermes-tt/mail-o365-recherche-scroll-virtualisation.md) | 2026-07-24 | mail, o365, recherche, scroll, virtualisation |
| [hermes-mail-browser -- /search ne filtre pas par date reelle de reception (matching texte, pas operateur date)](hermes-tt/mail-o365-search-pas-de-filtre-date.md) | 2026-07-30 | mail, o365, recherche, date, hermes-mail-browser |
| [16 dossiers RAG error — état session OWA dégradé (arborescence invisible), hypothèses / et conteneurs réfutées](hermes-tt/mail-o365-16-dossiers-error-etat-session-owa.md) | 2026-08-02 | mail, o365, owa, playwright, hermes-mail-browser, nyora-notes-tt, rag, checkpoint, error |
| [16 dossiers RAG error — CORRIGE : clic d'expansion non idempotent go_to_folder_path (pas un etat de session degrade), + 2 bugs annexes /folders inner_text() et absence de verrou page partagee, verifie 22/22](hermes-tt/mail-o365-toggle-expand-non-idempotent-fix.md) | 2026-08-02 | mail, o365, owa, playwright, hermes-mail-browser, nyora-notes-tt, rag, checkpoint, error, race-condition, fix |
| [onedrive-sync -- doublons non recatalogues (is_duplicate_of, pas un bug) + extensions inconvertibles ajoutees a UNCONVERTIBLE_EXT, verifie bad_ext_still_present=0](hermes-tt/nyora-notes-tt-onedrive-sync-doublons-extensions.md) | 2026-08-06 | nyora-notes-tt, onedrive-sync, catalog, doublons, extensions |
| [SharePoint delta-sync (hermes-mail-browser -> archive locale) : mise en place complète](hermes-tt/sharepoint-delta-sync.md) | 2026-08-06 | sharepoint, sync, hermes-mail-browser, n8n, onedrive |
| [4 bugs extraction OWA — A+B CORRIGES (glyphe zone privée U+E000-U+F8FF décalant le découpage positionnel, 295/399 dates corrompues ; plafond /search silencieux à 20) · C dossiers hors Réception inatteignables · **D portée /search non respectée = BLOQUANT backfill**](hermes-tt/nyora-notes-tt-parsing-owa-pua-10-08-2026.md) | 2026-08-10 | mail, o365, owa, playwright, hermes-mail-browser, nyora-notes-tt, rag, parsing, unicode, pua, message-id, troncature, scope, fix |
## hermes-nyora
| Runbook | Date | Tags |
|---------|------|------|
| [Veille Nexum -- decalage image Telegram (sendPhoto), fidelite titre site/Telegram, nettoyage DeepSeek](hermes-nyora/veille-nexum-telegram-image-titre-fidelite-20260828.md) | 2026-08-28 | veille-nexum, telegram, sendphoto, fidelite-titre, deepseek, n8n |
| [Passerelle MCP dédiée NyoraNotes (multi-agent, StreamableHTTP port 3098, scoping strict par dossier, connecteur DSH validé)](common/nyora-notes-mcp-gateway-deploiement-20260826.md) | 2026-08-26 | nyora-notes-mcp, mcp, streamable-http, scoping, dsh, tailscale |
| [Réduction hermes-hub en dispatcher minimal & stabilisation DSH (historique, WebSockets, mémoire NyoraNotes)](common/decommission-switcher-hub-stabilisation-dsh-20260826.md) | 2026-08-26 | dsh, hermes-hub, dispatcher, websocket, history-fix, nyora-notes |
| [Hermes Hub — Déploiement et Exploitation Multi-Univers sur VPS (FastAPI, proxy async, design tokens, Tailscale)](common/hermes-hub-deploiement.md) | 2026-08-19 | hermes, hub, multi-univers, vps, tailscale, cloudflare-access, fastapi |
| [Scrappling — évaluation vs stack existant (Firecrawl/Camoufox/SearXNG), installation différée](hermes-nyora/scrappling-evaluation-vs-firecrawl-camofox-14-08-2026.md) | 2026-08-14 | scraping, firecrawl, camofox, veille, prospection |
| [IAKifech — durée finale corrompue (107s au lieu de ~85s) : mismatch framerate outro/footage au concat](hermes-nyora/iakifech-duree-outro-fps-mismatch.md) | 2026-07-29 | iakifech, dr-nexum, hermes-nabil, ffmpeg, concat, framerate, postmortem |
| [IAKifech ep.1 — postmortem production vidéo hermes-nabil (skills refusées, timeouts, échappement)](hermes-nyora/iakifech-ep1-postmortem-production-video.md) | 2026-07-23 | iakifech, dr-nexum, hermes-nabil, soul-md, postmortem |
| [Pipeline Dr Nexum image-vidéo : config 480p/4s validée (Atlas Cloud Seedance + ElevenLabs)](hermes-nyora/dr-nexum-atlas-i2v-seedance.md) | 2026-07-21 | dr-nexum, atlas-cloud, seedance, elevenlabs |
| [mimo-v2.5 : 400 Param Incorrect screenshots browser_vision — fix plugin provider](hermes-nyora/mimo-400-param-incorrect-vision-tool-messages.md) | 2026-07-09 | mimo, vision, 400 |
| [Verdict pilote mimo-v2.5 : GARDER mimo, V4 Flash fallback](hermes-nyora/verdict-pilote-mimo-v25.md) | 2026-07-08 | mimo, modele, pilote |
| [Veille Dr. Nexum — email enrichi](hermes-nyora/veille-nexum-email-enrichi.md) | 2026-07-03 | dr-nexum, veille, email |
| [Cron figé + publish n8n cassé — veille Dr Nexum (timezone Tunis)](hermes-nyora/veille-dr-nexum-cron-timezone-publish-n8n.md) | 2026-07-07 | cron, timezone, veille |
| [Veille hebdo Dr. Nexum (kanban fan-out)](hermes-nyora/veille-hebdo-kanban.md) | 2026-06-18 | veille, kanban |
| [Workflow Claude-GLM Nyora API Builder](hermes-nyora/workflow-claude-glm.md) | 2026-06-17 | workflow, glm |
| [VPS Contabo — réinstall + bascule Tailscale](hermes-nyora/vps-contabo-reinstall-tailscale-07-07.md) | 2026-07-07 | vps, tailscale |
| [VPS Contabo — WireGuard + qBittorrent natif (kill-switch)](hermes-nyora/vps-contabo-wireguard-qbittorrent-natif.md) | 2026-07-05 | vps, wireguard |
| [Backup NAS → VPS Contabo (restic chiffré)](hermes-nyora/backup-nas-vps-contabo-restic.md) | 2026-07-05 | vps, backup, restic |
| [Accès supervision Claude sur VPS Contabo](hermes-nyora/vps-contabo-acces-claude-supervision.md) | 2026-07-05 | vps, acces |
| [Surveillance trafic sortant fair-use Contabo](hermes-nyora/vps-contabo-surveillance-bandwidth.md) | 2026-07-05 | vps, bandwidth |
## hermes-perso
| Runbook | Date | Tags |
|---------|------|------|
| [Passerelle MCP dédiée NyoraNotes (multi-agent, StreamableHTTP port 3098, scoping strict par dossier, connecteur DSH validé)](common/nyora-notes-mcp-gateway-deploiement-20260826.md) | 2026-08-26 | nyora-notes-mcp, mcp, streamable-http, scoping, dsh, tailscale |
| [Réduction hermes-hub en dispatcher minimal & stabilisation DSH (historique, WebSockets, mémoire NyoraNotes)](common/decommission-switcher-hub-stabilisation-dsh-20260826.md) | 2026-08-26 | dsh, hermes-hub, dispatcher, websocket, history-fix, nyora-notes |
| [Hermes Hub — Déploiement et Exploitation Multi-Univers sur VPS (FastAPI, proxy async, design tokens, Tailscale)](common/hermes-hub-deploiement.md) | 2026-08-19 | hermes, hub, multi-univers, vps, tailscale, cloudflare-access, fastapi |
| [CrowdSec sur DSM](hermes-perso/security/crowdsec-dsm.md) | 2026-06-12 | securite, ssh, iptables |
| [SOUL.md hermes-perso — ingest API veille](hermes-perso/soul-veille-ingest.md) | 2026-06-15 | soul, veille |
| [formation-consultant — site formation autodidacte](hermes-perso/formation-consultant.md) | 2026-07-25 | infra, formation, deploiement |
---
## Règles de contribution
- **Écriture** : chaque instance écrit uniquement dans son dossier `hermes-<nom>/` ; `common/` = strictement transverse (infra/ops générique, **jamais de données métier ou familiales**).
- **Lecture** : tous les dossiers lisibles par toutes les instances.
- **Format** : RUNBOOK-TEMPLATE.md. Après chaque runbook : note NyoraNotes tags [infra, runbook] et mise à jour de ce _INDEX.md (pas de sous-index par dossier).
## Consolidation 09/07/2026 (traçabilité)
- **Fusionnés** : MCP-NAS-SCRIPTING + mcp-nas-run-command-v2 → `mcp-nas-reference.md` · OPENCODE-GO-MIGRATION + migration-provider-opencode-go → `opencode-go-migration.md` · BIFROST-VK-OPENCODE-FIX + bifrost-vk-stale-cache → `bifrost-vk-incidents.md` · nyora-doc-api-footer-bug-docx + nyora-doc-api-rebuild-footer-docx → `nyora-doc-api-rebuild.md` (footers supprimés de tous les formats le 08/07).
- **Supprimés (obsolètes)** : gotenberg-pdf.md (container désinstallé 21/06), ports-registry.md dupliqué à la racine (identique à common/), hermes-nyora/_INDEX.md (sous-index abandonné).
- **Re-sphérés depuis common/** : hermes-perso-SOUL-veille-ingest → hermes-perso/ (données familiales) · kanban-evaluateur-ao → hermes-tt/ · veille-hebdo-nyora, workflow-claude-glm-nyora, veille-dr-nexum-cron-timezone-publish-n8n → hermes-nyora/.
- `common/vps-transition-swap-hdd.md` — transition VPS Contabo (doublure noyau métier) pour swap HDD + reset volume. Tailscale = fenêtre. (10/07/2026)
- `scripts/backup-usb.sh` — backup USB incrémental root (docker+volumes+mémoire), tâche DSM. (10/07/2026)
- `common/runbook-audit-charge-nas-ds920-methode-2026-07.md` — Audit charge DS920+ : méthode mesure, pièges loadavg/smbd/docker stats, goulot = IO, état de référence 42 containers, actions en attente (flaresolverr, agent-perso 768m). (12/07/2026)
- `common/n8n-credentials-corruption-veille-consolidation.md` — Credentials n8n corrompues (does not exist), tokens/domaines Baserow valides, consolidation veille Dr. Nexum en pipeline unique (14/07/2026)
- [veille-nexum-vk-morte-fuseau-n8n.md](common/veille-nexum-vk-morte-fuseau-n8n.md) — Veille Dr. Nexum réparée : VK Bifrost morte (purge 07/07) + fuseau n8n + piège versionnage workflow_history (14/07/2026)
- [veille-nexum-rich-job-20-sources.md](common/veille-nexum-rich-job-20-sources.md) — Bascule vers la veille riche mimo-v2.5 : 20 articles, 17 YouTube + 13 RSS, autres veilles désactivées (14/07/2026)
- [hermes-vers-bifrost-bifrost-proxy.md](common/hermes-vers-bifrost-bifrost-proxy.md) — Les 3 Hermes routent via Bifrost (bifrost-proxy convertit Bearer→x-bf-vk), config.yaml provider custom, restart-only (15/07/2026)
- `common/tourisme-tunisie-skill.md` — Skill Hermes : lieux a visiter en Tunisie (OSM, sans cle) [16/07/2026]
- [hermes-nabil-vps-deploiement.md](common/hermes-nabil-vps-deploiement.md) — hermes-nabil sur VPS Contabo : structure, cerveau OpenCode direct, bots Tailscale-only, recherche web, documents (18/07/2026)
- [hermes-nabil-images-flyers-navigateur.md](common/hermes-nabil-images-flyers-navigateur.md) — Navigateur bake dans l'image (postinstall), rendu HTML->PNG/PDF, OpenCode ne genere pas d'images -> Gemini, pipeline flyer Or Bruni (18/07/2026)
- [transfert-secret-inter-machines.md](common/transfert-secret-inter-machines.md) — Deplacer une cle API entre deux machines sans jamais l'exposer (RSA-3072/OAEP, cle privee jetable), controle par longueur et prefixe (18/07/2026)
- [common/vps-hermes-nabil-visuels-yasmi.md](common/vps-hermes-nabil-visuels-yasmi.md) — pipeline visuels Yasmi VPS : logo intelligent (luminance), 28 scènes tunisiennes, 5 mannequins (19/07/2026)
- [dockerfile-layer-cache-ordre.md](common/dockerfile-layer-cache-ordre.md) — Ajout de dependance mineure a un Dockerfile hermes en couche RUN separee post-postinstall pour eviter un rebuild complet (git sur hermes-nabil VPS, evite retelechargement Chromium ~400 Mo) (21/07/2026)
- [n8n-insights-collation-index-doublons.md](common/n8n-insights-collation-index-doublons.md) — Index unique dégradé sur insights_metadata (collation postgres) : restore littéral impossible, laissé en l'état, bombe à retardement REINDEX/pg_upgrade (23/07/2026)
- common/prompt-defensif-anti-refus-contre-productif.md — hallucination refus job cron (email légitime pris pour phishing), root cause = langage anti-refus meta dans le prompt, fix = contexte factuel neutre (24/07/2026)
- [hermes-tt/mail-o365-hermes-mail-browser-inbox-staleness.md](hermes-tt/mail-o365-hermes-mail-browser-inbox-staleness.md) — /inbox renvoyait des mails perimes apres ouverture dun message (liste virtualisee OWA non remontee), fix go_to_inbox_root() force navigation fraiche sur les 4 endpoints indexes (24/07/2026)
- [hermes-tt/mail-o365-recherche-scroll-virtualisation.md](hermes-tt/mail-o365-recherche-scroll-virtualisation.md) — liste OWA virtualisee limitee a 5-7 mails montes, fix par accumulation ArrowDown progressif (read_listbox_items), + endpoints /search* (recherche precise dans toute la boite), skill mail-o365-tt.md complete (24/07/2026)
- [hermes-tt/mail-o365-search-pas-de-filtre-date.md](hermes-tt/mail-o365-search-pas-de-filtre-date.md) — tentative estimation volume mail 2024+ (projet nyora-notes-TT) : /search fait du matching texte brut, pas un filtre received reel (q=received:2024 remonte des mails de 2025 contenant 2024 dans le sujet) ; /folders instable (count:0 ou timeout) ; ~35-40s/appel pour 5 resultats -- comptage volume a faire via UI OWA native (noVNC), pas via scraping iteratif (30/07/2026)
- [hermes-nyora/iakifech-ep2-subtitle-desync-freeze-postmortem.md](hermes-nyora/iakifech-ep2-subtitle-desync-freeze-postmortem.md) — Sous-titres moneyprinterturbo calés sur edge-tts non regénérés apres swap voix ElevenLabs (desync ~0,57s), freeze+silence fin (body 75,57s vs voix 79,49s, ~18s ecart non explique), logo confirme present et correct (24/07/2026)
- [common/baserow-rotation-casse-containers-standalone.md](common/baserow-rotation-casse-containers-standalone.md) — Rotation mot de passe admin Baserow casse les containers standalone non supervises (JWT admin code en dur) ; fix = Database API Token statique par scope, cas dashboard-terrain corrige (25/07/2026)
- [common/vision-auxiliaire-routing-text-only-modeles.md](common/vision-auxiliaire-routing-text-only-modeles.md) -- auxiliary.vision `auto` casse sur modeles text-only (deepseek-v4-flash), route explicite vers google/gemini-2.5-flash via bifrost-proxy, applique hermes-perso + hermes-tt (27/07/2026)
- [common/anti-hallucination-benchmarks-recherche-chiffree.md](common/anti-hallucination-benchmarks-recherche-chiffree.md) -- Garde-fou anti-invention sur rapports chiffres : chiffre = page lue en entier ou "non verifie", verifier variante exacte du modele avant attribution (27/07/2026)
- [common/smart-approvals-deny-rules-4-instances.md](common/smart-approvals-deny-rules-4-instances.md) -- approvals.mode smart + deny rules sur les 4 instances Hermes, auxiliary.approval route vers deepseek-v4-flash (jamais mimo-v2.5), exception documentee hermes-nabil VPS (27/07/2026)
- [common/veille-chunking-nyora-root-cause.md](common/veille-chunking-nyora-root-cause.md) -- Root cause des 24 tool_calls casses hermes-nyora : prompt du job veille ordonnait un heredoc unique pour 20 items sans limite, pas un probleme mimo-v2.5 ; fix construction chunkee (27/07/2026)
- [common/watchdog-telegram-gateway-container-autonome.md](common/watchdog-telegram-gateway-container-autonome.md) -- Watchdog Telegram gateway Hermes en container autonome (docker:cli + socket monte), contourne l'absence d'acces DSM Task Scheduler/crontab, redemarre automatiquement + escalade si echec persistant (27/07/2026)
- [common/n8n-baserow-https-interne-econnrefused.md](common/n8n-baserow-https-interne-econnrefused.md) -- Workflow oTLZguPfPlq9B7El (Moyens Humains Zone Sud Sync) : ECONNREFUSED sur Update/Create1 -- nyoeuds ecriture appelaient https://baserow.bolbol.tn (443, pas de TLS interne sur ce reseau Docker) au lieu de http://baserow:80 comme les noeuds GET ; fix scheme https->http (28/07/2026)
- [common/baserow-mcp-oauth-fix.md](common/baserow-mcp-oauth-fix.md) -- Connecteur Claude.ai vers Baserow MCP echouait (404 sur well-known/register, meme piege que mcp-vps) ; sidecar OAuth stub + nginx devant Baserow (image officielle non patchable), reseau n8n uniquement (gotcha TCP timeout sur nouveau bridge custom), teste bout-en-bout SSE/WS/API identique au direct, reste reverse-proxy DSM 3888->3887 a faire manuellement (28/07/2026)
- [common/context-hub-memory-entries-securite-mcp.md](common/context-hub-memory-entries-securite-mcp.md) -- Faille MCP corrigee (ContextVar lie a l'identite SSE reelle au lieu des arguments client sur get_rules/search_rules/get_agent_config/get_my_context/update_rule/check_port/get_ports) + table memory_entries typee (decision/constraint/best-practice/common-error/do-not-use) + FTS5, testee end-to-end ; base du futur scope coding (30/07/2026)
- [common/context-hub-mcp-initialize-bad-request-4-causes.md](common/context-hub-mcp-initialize-bad-request-4-causes.md) -- MCP initialize Bad Request cote Gemini : 4 causes empilees decouvertes une par une (proxy-headers manquant -> redirect HTTPS vers HTTP, httpx absent de requirements.txt, mcp installe en 2.0.0 breaking, transport SseServerTransport legacy incompatible clients Streamable HTTP modernes) ; migration vers StreamableHTTPSessionManager stateless, resolu, Gemini connecte 9 tools (30/07/2026)
- [common/veille-nexum-sources-reddit-403-nas-ip.md](common/veille-nexum-sources-reddit-403-nas-ip.md) -- Ajout 5 sources Reddit au pipeline Dr Nexum (r/LocalLLaMA, r/artificial, r/OpenAI, r/ClaudeAI, r/singularity), pipeline retrouve inactif (active:false), Reddit bloque en 403 depuis l IP NAS (teste 3 UA), perimetre restreint a Nyora (31/07/2026)
- [hermes-tt/nyora-notes-tt-backup-wal-moteur-mixte.md](hermes-tt/nyora-notes-tt-backup-wal-moteur-mixte.md) -- disk I/O error sur toutes les requetes RAG mail juste apres chaque backup n8n : route /backup ouvrait une connexion sqlite3 stdlib differente du moteur sqlean de l'app sur la meme DB WAL live, checkpoint au close() desynchronise le wal/shm ; fix moteur unifie (sqlean) + PRAGMA busy_timeout partout, verifie 8/8 juste apres un backup manuel (02/08/2026)
- [hermes-tt/n8n-cron-orphelin-hermes-mail-browser-instabilite.md](hermes-tt/n8n-cron-orphelin-hermes-mail-browser-instabilite.md) -- cause reelle de la lenteur/instabilite hermes-mail-browser : workflow n8n 'ingestion continue' actif depuis 31/07, toutes les 10 min, boucle infinie sur dossiers error_409/404 (etats finaux jamais retraitables, condition d'arret jamais declenchee, neverError:true masquait le probleme). Desactive. hermes-mail-browser lui-meme sain (RAM/CPU), search/list_attachments conformes aux baselines une fois le cron stoppe (02/08/2026)
- [hermes-tt/passation-pj-hermes-tt-deepseek-mimo.md](hermes-tt/passation-pj-hermes-tt-deepseek-mimo.md) -- Chantier PJ nyora-notes-tt confie a hermes-tt (DeepSeek V4 Flash, rythme naturel LLM) + Mimo V2.5 (classement) apres echec du script Python mecanique (renderer Chromium bloque a 100% CPU sous boucle serree, watchdog ressources deja actif en filet de securite). Etat exact, points de vigilance, gap MCP ecriture a verifier (02/08/2026)
- [common/mcp-nas-container-pid-namespace-blindspot.md](common/mcp-nas-container-pid-namespace-blindspot.md) -- ps aux (host) invisible aux process internes containers (pas de --pid=host) ; PID docker top (host) != PID kill dans docker exec (namespace container) ; methode /proc/*/cmdline fiable pour verifier/tuer (04/08/2026)
- [common/bifrost-google-provider-key-rotation.md](common/bifrost-google-provider-key-rotation.md) -- 429 Google embeddings systematique malgre 3 cles configurees : max_retries=0 sur le provider empechait toute rotation reelle malgre allow_all_keys=1 sur la VK ; fix max_retries=2 (config.json + config.db). Limite documentee : rotation confirmee fonctionnelle mais les 3 cles partagent le meme pool de quota, ne resout pas un quota epuise (05/08/2026)
- [hermes-tt/nyora-notes-tt-3-bugs-05-08-2026.md](hermes-tt/nyora-notes-tt-3-bugs-05-08-2026.md) -- 3 bugs nyora-notes-tt/nyora-convert-api decouverts en diagnostic : FTS5 syntax error sur "/" dans search_onedrive_archive ET search_mail_memory (references AO, dates), KeyError non catche sur reponse Bifrost inattendue dans _call_bifrost, PROMPT_TEXT/PROMPT_VISION jamais reaccentues (regle LANGUE du 19/07 non appliquee). 3 fixes deployes et testes. Bonus : ni l'un ni l'autre n'etait sur Gitea, bootstrap fait (05/08/2026)
- [hermes-tt/nyora-notes-tt-onedrive-sync-doublons-extensions.md](hermes-tt/nyora-notes-tt-onedrive-sync-doublons-extensions.md) -- Suite etape 3 plan onedrive-sync : remaining_cataloged=0 vs cataloged=362 explique (doublons is_duplicate_of exclus par design, pas un bug) ; extensions inconvertibles (svg/py/pyc/telechargement/xlsb/pbix/odt/ods/numbers/jnlp/eps/ai/cdpz/rar/zip/excalidrawlib/bat/mp4/mp3) ajoutees a UNCONVERTIBLE_EXT, commit 70d0a33, verifie bad_ext_still_present=0 docs_apres=docs_avant=7038. Etape 3 (auto-actualisation OneDrive) terminee. Bonus : piege mcp-nas generalise aux 3 instances (alias docker incompatible nohup) (06/08/2026)
- [hermes-tt/ria-179-articles-fiabilite-citation.md](hermes-tt/ria-179-articles-fiabilite-citation.md) -- Audit ingestion RIA (179 articles verbatim, 180 notes NyoraNotes) demande par Nabil : extraction/hash/index confirmes exacts, mais 12 articles (2,5,41,97,109,127,132,142,148,152,164,172) avaient un residu TITRE/Chapitre/Section du groupe suivant colle en fin de fichier, polluant le ranking FTS (ex. art.97 remontait sur "penalite retard" hors-sujet). Corrige sur fichiers locaux + notes, verifie stable sans reindexation manuelle (06/08/2026)
- [hermes-tt/nyora-notes-tt-attachments-liaison-onedrive-07-08-2026.md](hermes-tt/nyora-notes-tt-attachments-liaison-onedrive-07-08-2026.md) -- content_hash jamais calcule sur les PJ mail (0/41), JOIN avec onedrive_documents structurellement vide ; fix + backfill (17/20), attachments_vec cree (2048d NVIDIA NIM), Phase 2 extraction ajoutee (nyora-convert-api upload multipart, 14/20 ok) + embedding (14/14 ok). JOIN exact content_hash toujours 0 (structurel, PJ 2026 trop recentes) mais JOIN approximatif ao_reference fonctionne (4/14 PJ avec un match OneDrive) -- confirme que la cle de liaison fiable est la reference AO, pas un hash/identifiant unique. Bonus : deux pieges Docker (docker restart ne recharge jamais une image rebuild, DDL perdue sans wal_checkpoint avant redemarrage) (07/08/2026)
- [hermes-tt/sharepoint-delta-sync.md](hermes-tt/sharepoint-delta-sync.md) -- Ingestion SharePoint -> archive locale mise en place et validée : endpoint POST /sharepoint-sync sur hermes-mail-browser, workflow n8n pBF8OzVvPnGILGgj (toutes les 60 min). Réglages navigateur persistants (désactivation ouverture Office inline, téléchargement PDF forcé), authentification X-Ingest-Key. Piège DSM : port publié sur IP LAN spécifique (192.168.100.33), inaccessible via 172.17.0.1 depuis un autre container, pas de hairpin NAT -- passer par ssh nas-host pour tester. Testé sur 1 an d'historique, 3 sites actifs : 10 downloaded, 0 errors (06/08/2026)
- [hermes-tt/nyora-notes-tt-sweep-livelock-fix-08-08-2026.md](hermes-tt/nyora-notes-tt-sweep-livelock-fix-08-08-2026.md) -- run_batch_sweep_all_years.sh bloque (ORDER BY folder_path deterministe + abort apres 3 echecs consecutifs) : 3 notes qui timeoutent systematiquement au listing PJ OWA revenaient toujours en tete de requete et empechaient tout progres sur les 46 autres notes en attente (66->49 puis stuck 49 pendant 14 lots, ~1h40 perdues). Fix : colonne notes.scan_fail_count, ORDER BY scan_fail_count ASC puis folder_path, sink automatique des notes en echec. Rebuild + up -d (jamais restart), verifie sur le lot suivant. Bonus : rebuild a aussi fige en dur le fix embed_attachments.py (vec0) jusque-la seulement patche en live (08/08/2026)
- [hermes-tt/nyora-notes-tt-ao-reference-endpoint-pj-archive-fix-08-08-2026.md](hermes-tt/nyora-notes-tt-ao-reference-endpoint-pj-archive-fix-08-08-2026.md) -- Suite session 08/08 : outil MCP search_linked_documents productionise (normalisation regex NN/AAAA, 3 modes d'entree ao_reference/attachment_id/note_id, teste reel 1082 correspondances). /mnt/pj-archive elucide : pas de montage manquant, bug de donnees (local_path avec un prefixe ATTACH_ROOT perime pre-bootstrap), fichiers reels presents sous /app/attachments -- corrige, 20/20 PJ ont desormais un content_hash. JOIN exact content_hash : 1re correspondance confirmee (0 le 07/08), hypothese de resorption progressive validee. Piege : UPDATE concurrent au sweep actif = database table is locked, fix PRAGMA busy_timeout au lieu de wal_checkpoint (08/08/2026)
- [hermes-tt/nyora-notes-tt-phase2-embedding-relance-post-sweep-08-08-2026.md](hermes-tt/nyora-notes-tt-phase2-embedding-relance-post-sweep-08-08-2026.md) -- Sweep Phase1 toutes annees termine seul via son plafond MAX_BATCHES=15 (3 notes restantes, cas OWA permanents deja connus, aucune intervention necessaire). Phase 2 + embedding relances sur le volume complet via nouveau script run_phase2_embed_full.sh (boucle jusqu'a epuisement + embedding + audit) : 24/27 PJ telechargees extraites avec succes, 24/24 embeddees (100%), content_hash 27/27 (100% des telechargees), ao_reference 23/27. JOIN exact content_hash avec onedrive_documents : 3 correspondances (1 seul le 08/08 matin, confirme la resorption progressive). Piege : docker exec -i obligatoire pour un heredoc Python en stdin ; sqlite_vec.load(conn) obligatoire avant toute requete sur *_vec, y compris en audit ponctuel (08/08/2026)
- [hermes-tt/download-attachments-phase1-bug-timeout.md](hermes-tt/download-attachments-phase1-bug-timeout.md) -- Sweep PJ 2026 degradait la session OWA jusqu'a marquer des notes attachments_scanned=1 sans verification reelle : deux endpoints (search_folder par dossier, list_attachments par note) catchaient un timeout exactement comme un 404 et le mettaient en cache comme vide. Fix : contrat None (inconnu, a retenter) vs liste vide (verifie vide/404) strict + une retentative + circuit-breaker 3 echecs consecutifs. Filtre year_bucket ajoute (absent avant, bug distinct meme session), parametrable ATTACH_YEAR_BUCKET pour reprendre sur 2024/2025 apres 2026. Teste 2x5 notes (07/08/2026)
- [hermes-tt/nyora-notes-tt-message-id-elem-id-volatile-08-08-2026.md](hermes-tt/nyora-notes-tt-message-id-elem-id-volatile-08-08-2026.md) -- Piste "message_id natif via elem_id OWA" FERMEE : elem_id (attribut id de ligne) s'est revele VOLATILE (GUID de rendu regenere a chaque appel -- test rigoureux 0/19 messages stables, ensembles disjoints, meme index -> id different). Un premier test a 1 seul message en position 0 sur appels rapproches l'avait faussement valide (DOM re-utilise). Decision : message_id reste le hash SHA256(subject|date|sender) STABLE ; conversation_id (data-convid, niveau THREAD, regex ciblee jamais split sur |) et fix retry /search count:0 transitoire CONSERVES. Garde-fou dedup verifie (message_id = cle de dedup ; 399 notes toutes en dossiers 'done' jamais re-scannes ; 0 note degradee inseree pendant la fenetre elem_id). Lecon SPA : tester un id DOM sur >=2 rendus reels et plusieurs messages (08/08/2026)
- [common/guardrails-flotte-hermes-hard-stop-tirith-verificateur-12-08-2026.md](common/guardrails-flotte-hermes-hard-stop-tirith-verificateur-12-08-2026.md) -- hard_stop_enabled et tirith_enabled actives sur les 4 instances (etaient false), verificateur delegate_task croise (NAS genere DeepSeek/verifie Mimo V2.5, hermes-nabil inverse) ; faille provenance mail->RAG confirmee par lecture code mais pas corrigee (chantier a part) ; hermes-agent-tt trouve down 8h (mort non-propre, cause inconnue), hermes-workspace-perso bloque par port 3030 orphelin (12/08/2026)
- [hermes-tt/nyora-notes-tt-backfill-72h-perte-silencieuse-429-resync-error404-16-08-2026.md](hermes-tt/nyora-notes-tt-backfill-72h-perte-silencieuse-429-resync-error404-16-08-2026.md) -- Backfill mail 72h termine (643->4322 notes). Deux pieges : (1) 444 messages perdus en silence sur 63 dossiers (18%) -- 66% sur HTTP 429 embeddings jete au lieu de reessaye, reste sur raisonnement mimo-v2.5 tronquant le JSON (max_tokens partage) ; dossier passait 'done' quand meme, bilan ne comptait pas les echecs -- fix retries+backoff, max_tokens 2500->8000, compteur messages_ignores remonte au bilan (0 perte en tranche finale). (2) 122 error_404 mesuraient un resolveur de chemin perime (bugs C/D corriges le 10/08), pas des dossiers absents -- 105/122 resolubles apres confrontation normalisee a un /folders frais. Regle generale : tout pipeline lot-LLM doit exposer un compteur d'echecs a cote du compteur de succes (16/08/2026)
- [common/synology-scp-sftp-indisponible-cat-ssh.md](common/synology-scp-sftp-indisponible-cat-ssh.md) -- scp/sftp echouent systematiquement vers ce DSM ("No such file or directory" malgre chemin valide) -- sous-systeme SFTP indisponible pour l'utilisateur/cle d'automatisation, ssh lui-meme non affecte. Contournement : `cat fichier | ssh nas 'cat > dest'` (tar czf/xzf pour un dossier). Rencontre 2x en contextes differents (git bundle nas-runbooks, deploiement fichier partage aux 3 instances Hermes) -> promu en runbook transverse plutot que note de session isolee (16/08/2026)
- [common/seam-discipline-hermes.md](common/seam-discipline-hermes.md) -- Discipline service/fournisseur/consommateur pour toute nouvelle capacite Hermes, inspiree dsh sans en dependre (17/08/2026)
- [common/regle-source-generation-documentaire-zone-sud.md](common/regle-source-generation-documentaire-zone-sud.md) -- Regle "jamais inferer au-dela de la source" deployee dans dco-generation-tt, gsd-ao-evaluation, courriers-officiels-tt ; few-shot a completer avec Nabil (17/08/2026)
- [hermes-tt/mail-sanction-envoi-non-autorise-21-08-2026.md](hermes-tt/mail-sanction-envoi-non-autorise-21-08-2026.md) -- Envoi mail non autorise (2x) via SMTP direct/credentials en clair hors-perimetre du durcissement O365 du 23/07 ; verrouillage code (creds, skill, endpoint 403) + hermes-tt en lecture seule sur le mail jusqu a levee explicite par Nabil (21/08/2026)
- [common/brief-gemini-skills-hermes-antigravity-20260821.md](common/brief-gemini-skills-hermes-antigravity-20260821.md) -- Audit factuel et vérification en direct de la flotte Hermes (4 instances : perso, tt, nyora sur NAS, nabil sur VPS Contabo), de DSH et d'AntiGravity. Confirmation que les 4 instances Hermes tournent sur l'image officielle NousResearch (v0.20.0, commit upstream 3c27eb62, MIT) avec Mimo V2.5 actif partout et gestionnaire natif hermes skills (skills.sh et well-known RFC). Invalidation factuelle de l'écosystème "awesome-dsh-plugin" (dsh plugin est un proxy pnpm sans marketplace ni catalogue distant). Déploiement du skill AntiGravity preuve-commande-obligatoire (21/08/2026)
- [common/mcp-token-croise-reglement-definitif.md](common/mcp-token-croise-reglement-definitif.md) -- Rapport de cloture Gemini affirmait a tort la connexion MCP hermes-tt <-> reglement-mcp (401 en realite, token CACHE_FLUSH_TOKEN croise avec MCP_SECRET_TOKEN lors d une rotation). Fix + methode de reverification systematique via hermes mcp test (24/08/2026)
- [common/mecanisme-implication-hermes-gemini-garde-fous.md](common/mecanisme-implication-hermes-gemini-garde-fous.md) -- Ne du declic 3% quota (audit MCP reglement-definitif). Mecanisme pour tout garde-fou/pattern durable : Claude concoit le motif -> hermes-nyora cadre et fait executer -> Gemini installe -> Claude audite en un seul passage qui reteste reellement en direct (jamais lecture de rapport). Exceptions actees : correctif ponctuel deja diagnostique (Claude fait direct), AntiGravity/Gemini inaccessible a Nabil (Claude fait direct). Escalade immediate si derive constatee en cours de cycle (24/08/2026)
- [common/dsh-resilience-opencode-direct-bifrost-proxy-tailscale-relay-20260824.md](common/dsh-resilience-opencode-direct-bifrost-proxy-tailscale-relay-20260824.md) -- DSH-VPS indépendant du NAS pour ses modèles cloud (provider opencode-direct, contourne Bifrost) ; décision OpenCode (forfait plafonné) plutôt qu OpenRouter (facturation non plafonnée) pour tout modèle gratuit-temporaire ; leçon bifrost-proxy (x-bf-vk non transmis, utiliser Authorization: Bearer sur le endpoint Tailscale 3086) ; fix tailscale-vps-ssh-relay (Tailscale userspace -> passage obligatoire par SOCKS5 127.0.0.1:1055, remplacement BusyBox nc par socat) (24/08/2026)
- [hermes-nyora/dsh-vps-pnpm-plugins-bloques.md](hermes-nyora/dsh-vps-pnpm-plugins-bloques.md) -- pnpm absent de l image dsh-vps -> dsh plugin add impossible (bridge MCP inclus) ; skill-filesystem/tool-skill/skill-badge desactives dans le profil web -> le SKILL.md session-memory scaffolde a l entrypoint n a jamais ete visible par l agent (notes.md inchange depuis 9 jours). Fix pnpm applique et verifie (corepack + rebuild). Volet memoire/MCP en cours (24/08/2026)
- [hermes-nyora/dsh-vps-defaultpreset-fix.md](hermes-nyora/dsh-vps-defaultpreset-fix.md) -- permission.defaultPreset etait sur danger-full-access par defaut sur dsh-vps (aucune approbation pour toute nouvelle session) ; corrige vers workspace-write, verifie que entrypoint.sh ne rescaffold pas settings.yaml (garde if ! -f), et piege docker compose up -d qui ne recharge pas un volume modifie -> restart necessaire. Verifie en direct apres redemarrage (24/08/2026). CLOTURE chantier DSH.
- [hermes-nyora/dsh-vps-secrets-en-dur-incident.md](hermes-nyora/dsh-vps-secrets-en-dur-incident.md) -- INCIDENT SECURITE : BIFROST_API_KEY et OPENCODE_DIRECT_API_KEY commitees en clair dans entrypoint.sh d'un repo Gitea initialement PUBLIC (bolbol/dsh-vps). Detecte par hermes-nyora en relisant avant validation. Repo passe prive, BIFROST_API_KEY rotee en base Bifrost (governance_virtual_keys) et testee fonctionnelle, entrypoint.sh corrige (fail loud au lieu de fallback secret). OPENCODE_DIRECT_API_KEY (= cle maitresse OpenCode.ai partagee, BIFROST_OPENCODE_KEY) reste a roter par Nabil (compte externe).
- [hermes-nyora/dsh-vps-rotation-cles-incident-apikey-invalide.md](hermes-nyora/dsh-vps-rotation-cles-incident-apikey-invalide.md) -- Rotation cles dsh-vps (VK Bifrost + OpenCode Zen) apres exposition chat/commit ; incident « API key is invalid » : cause racine = cles en dur residuelles dans compose hote + entrypoint fallback (repo sanitise mais pas l'hote) ; fix env_file + ${VAR:?} + recreation, revocation confirmee, tour UI vert. Pieges : restart ne relit pas .env, sanitisation partielle, StartedAt vs horodatages config (25/08/2026)
- [common/rapport-gemini-phase-a-pilote-botmode-20260825.md](common/rapport-gemini-phase-a-pilote-botmode-20260825.md) -- Phase A bascule hermes-nyora v2026.8.19 (0.20.5) : backup pre-upgrade (81Mo), bascule image unique sur nyora, continuite 100% validee (Telegram, Cron, MCP Context-Hub, Veille, Notes, SMTP), verrou reseau 8642 etanche (perso/tt bloques, 401 local), Gate 1 reussi (interception deny rules + safe root), Gate 2 documente (roster actif si ui_meta[\x27hermes-bots\x27] dans profile.yaml, injection sur titre \x27Bot Chat\x27, messagerie headless via hermes chat -Q), Browser Use mode teste (uvx 0.1.9, fallback natif auto), VPS Contabo verifie sans 8642 publie (25/08/2026)