Files
context-hub/docs/context-memory/coding.md
T

4.7 KiB

Memoire coding — genere automatiquement, ne pas editer a la main

Source de verite operationnelle : table memory_entries dans context-hub (SQLite + API/MCP). Ce fichier est une projection durable et versionnee, regeneree a chaque record_lesson. Derniere generation : 2026-08-16T21:17:18Z

Projet: bifrost

Contraintes

  • [coding-cst-0001] Vérifier les dépendants actifs avant toute écriture/restart sur la DB partagée Bifrost L'insertion directe d'une clé virtuelle dans config.db déclenche un redémarrage de Bifrost pour recharger les clés. Il est impératif de vérifier l'état des services de production dépendants (ex: backfill hermes-tt) AVANT l'opération, et non après coup. cree par GEMINI le 2026-08-15 13:31:55 — tags: bifrost, database, production, preflight

Projet: dsh

Decisions

  • [coding-dec-0002] Migration Filebrowser vers Dufs au 1er septembre 2026 Filebrowser étant archivé au 01/09/2026, la stack dsh migrera vers sigoden/dufs. Dufs est un binaire Rust ultra-léger (<10MB RAM) et totalement stateless (aucune base .db résidente dans /workspace verrouillant le stockage). cree par GEMINI le 2026-08-16 21:17:18 — tags: storage, dufs, filebrowser, architecture

Contraintes

  • [coding-cst-0002] Séparation étanche entre données professionnelles sensibles et environnement dsh expérimental Aucune donnée métier réelle ou sensible (consultations, prix, contrats) ne doit transiter par un harnais en developer preview tant que sa fiabilité n'est pas éprouvée. La séparation des contextes doit être stricte et automatique. cree par GEMINI le 2026-08-15 13:32:15 — tags: security, confidentiality, airgap, dsh

Bonnes pratiques

  • [coding-bp-0002] Sidecar Filebrowser sur volume workspace partagé avec identifiants dédiés Monter le volume Docker workspace en /srv sous UID/GID non-root (1026:100 ou user dédié) permet l'upload de tout type de fichier sans restriction du modèle. Toujours générer un mot de passe fort dédié enregistré dans Vaultwarden et exclure certs/ et auth/ de Git. cree par GEMINI le 2026-08-15 13:32:25 — tags: filebrowser, workspace, auth, vaultwarden

  • [coding-bp-0001] DeepSeek Harness (dsh) sidecar nginx pour loopback Host rewrite et Secure Context dsh verrouille en dur ses endpoints privilégies (settings., credentials., llm.discoverModels) sur loopback via isTrustedApiRequest, ignorant trustedHosts. Un sidecar nginx avec TLS, Basic Auth et proxy_set_header Host localhost:3080 / Origin http://localhost:3080 débloque tous les endpoints et fournit nativement le Secure Context sans patch de code. cree par GEMINI le 2026-08-15 13:31:34 — tags: dsh, security, nginx, proxy, loopback

A ne pas reessayer

  • [coding-dnu-0001] Ne jamais patcher le code source client dsh (patch_frontend.js) Patcher des fichiers générés dans node_modules (comme pour crypto.randomUUID) est fragile et casse silencieusement au prochain rebuild ou mise à jour npm. Traiter toujours les contraintes navigateur et sécurité au niveau réseau via reverse proxy TLS et réécriture d'en-têtes. cree par GEMINI le 2026-08-15 13:31:46 — tags: dsh, docker, antipattern

Projet: dsh-vps

Decisions

  • [coding-dec-0001] Exposition DeepSeek Harness sur VPS exclusivement via Tailscale privé L'instance dsh sur VPS doit être accessible uniquement via le réseau Tailscale privé, sans aucun sous-domaine public WAN (afin d'éviter l'indexation par Certificate Transparency logs). Un compte Linux dédié non-root et un réseau Docker isolé protègent les autres services du VPS. cree par GEMINI le 2026-08-15 13:32:03 — tags: vps, tailscale, security, dsh

Contraintes

  • [coding-cst-0003] Dépendance de DirectoryPicker à process.env.HOME et cwd @deepseek-ai/dsh-host-directory-picker-browse résout la racine du sélecteur web via os.homedir() (process.env.HOME) et les nouvelles sessions via process.cwd(). Positionner working_dir: /workspace et HOME=/workspace post-gosu ancre nativement le workspace sur le volume Docker nommé sans modifier le code source. cree par GEMINI le 2026-08-16 21:17:13 — tags: dsh, workspace, directory-picker, docker-compose

Erreurs communes

  • [coding-err-0001] Réinitialisation de HOME par gosu lors du drop de privilèges gosu réinitialise systématiquement la variable HOME d'après /etc/passwd (/home/dsh-agent), écrasant la valeur HOME=/workspace injectée par Docker Compose. Toujours exécuter 'exec gosu env HOME= ""' dans l'entrypoint pour forcer l'environnement applicatif post-gosu. cree par GEMINI le 2026-08-16 21:17:08 — tags: docker, gosu, permissions, environment, dsh