51 lines
4.7 KiB
Markdown
51 lines
4.7 KiB
Markdown
# 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-26T12:28:42Z
|
|
|
|
## Transverse
|
|
|
|
### Decisions
|
|
|
|
- **[coding-dec-0002]** Injection UI native dans le GUI DSH via profil web (sans root)
|
|
Le GUI dsh web compose l'HTML à la volée : un paquet dual-face (exports ./client + dsh.client.platform=web, bundle window.__ModuleLoader__.load) installé via pnpm add file: dans ~/.dsh/profiles/web + ligne - insert dans cordis.patch.yml est servi nativement sur /plugins/<pkg>/client.js. Scan des nouveaux plugins au boot uniquement (redémarrage requis), mais le bundle est relu du disque à chaque requête : itération = edit + F5. Test sans risque : cloner ~/.dsh vers /tmp et booter DSH_HOME=/tmp/... dsh web --port 3999 --no-open.
|
|
_cree par DSH le 2026-08-24 21:31:18 — tags: dsh, gui, plugin, client-module, cordis_
|
|
|
|
|
|
## Projet: Rapport_jury
|
|
|
|
### Decisions
|
|
|
|
- **[coding-dec-0003]** Référence design — thème clair bolbol.tn/history
|
|
Thème clair de référence (https://bolbol.tn/history/, thème par défaut) : --bg-body #f8f9fc · cartes #ffffff / alt #f0f2f8 · texte #1a1a2e / secondaire #5a5a7a / atténué #9a9ab0 · bordures #e0e2ec · accent violet #6c5ce7 + teal #00b894 (gradient 135°) + or #fdcb6e · code-bg #f0f2f8 · ombre douce rgba(0,0,0,.06) · radius 12px. Le site propose aussi un thème « nature » crème (#f5f0e8/#faf6ef, vert #2d7d46 → or #b8860b) et un dark navy (#0f0f1a, violet→teal). Appliqué au projet Rapport_jury : mode light conforme + palette d'accent « nature » ajoutée ; signature choisie : @Nabil.Derouiche · DSH · 2026.
|
|
_cree par DSH le 2026-08-26 10:56:27 — tags: design, theme-light, palette, signature, reference, bolbol.tn_
|
|
|
|
### Erreurs communes
|
|
|
|
- **[coding-err-0001]** Barres empilées SVG : accumuler par colonne, jamais à travers les groupes
|
|
Bug SVG : dans un graphique à barres empilées, l'accumulateur de hauteur doit être remis à zéro pour CHAQUE colonne/groupe de l'axe X (boucle externe = labels, boucle interne = séries). Une boucle séries→labels fait cumuler les valeurs à travers les groupes et dessine des segments hors échelle (y négatif). Corrigé dans Rapport_jury/_work/engine.js barChart().
|
|
_cree par DSH le 2026-08-26 12:28:41 — tags: svg, charts, stacked-bars, bugfix_
|
|
|
|
|
|
## Projet: dsh-vps
|
|
|
|
### Decisions
|
|
|
|
- **[coding-dec-0001]** dsh-vps : architecture MCP = plugin contexthub 0.1.1-rc.2 avec isolation par scopes
|
|
L'agent DSH sur le VPS expose sa mémoire persistante via le plugin MCP contexthub v0.1.1-rc.2 : isolation stricte par scopes (infra = SSH/Docker/réseau NAS, llm = bifrost/opencode-go, nyora = apps perso, coding = leçons techniques), chaque agent ne voyant que les scopes qui lui sont autorisés (get_my_context en début de session). Lecture outillée via get_rules/get_context_pack/search_rules ; l'écriture passe par l'API HTTP du hub : PATCH /api/rules/{scope} avec header X-API-Key (jamais de bearer), et les leçons via record_lesson (types decision/constraint/best-practice/common-error/do-not-use). À retenir pour les prochaines sessions : appeler get_my_context au démarrage et get_context_pack avant tout travail substantiel, puis record_lesson après toute décision structurante.
|
|
_cree par DSH le 2026-08-24 21:23:05 — tags: dsh-vps, mcp, contexthub, scopes, isolation, architecture_
|
|
|
|
### Contraintes
|
|
|
|
- **[coding-cst-0001]** Canal SSH NAS dsh-vps : port 22222, user Best0f, commandes courtes obligatoires
|
|
Le NAS du projet dsh-vps se joint en SSH sur 192.168.100.33 port 22222 (user Best0f ; identités séparées : bolbol=Gitea, bestof=Portainer ; réseau conteneur 172.17.0.1, LAN 192.168.100.33 ; Docker uid 1026/gid 100). Contraintes MCP-NAS éprouvées : passer par heredoc -> timeout, repli heredoc -> printf/python, limiter chaque commande à 350 caractères, et une session est considérée empoisonnée après 3 erreurs (à réinitialiser plutôt qu'insister).
|
|
_cree par DSH le 2026-08-24 21:23:11 — tags: dsh-vps, ssh, nas, 22222, mcp, contrainte_
|
|
|
|
### Bonnes pratiques
|
|
|
|
- **[coding-bp-0001]** dsh-vps : Externalisation des cles API via env_file et proscription des secrets en dur
|
|
Pour eviter tout decalage lors des rotations de cles (erreur API key is invalid), les cles sont externalisees dans /home/dsh-agent/dsh-vps/.env (chmod 600) et injectees via env_file dans docker-compose.yml. Les templates de scaffold et compose ne doivent contenir aucune cle en dur.
|
|
_cree par GEMINI le 2026-08-25 14:30:37 — tags: dsh-vps, docker-compose, rotation, secrets, env_file_
|
|
|