docs: restructurer le suivi et unifier la methode de livraison
CI / lint (push) Successful in 57s
CI / security (push) Successful in 40s
CI / test (push) Successful in 1m13s
CI / build (push) Successful in 34s
CI / e2e (push) Successful in 10m33s

- ROADMAP: ne garde que le travail a venir + index compact du complete (995 -> ~155 lignes); detail deplace vers docs/features/ et docs/archive/

- docs/features/: fiches detaillees #74, #75, #76, #77, #78, #79

- docs/archive/COMPLETED_v1-v2.md: detail des items courts livres

- CHANGELOG: alignement sur les tags (2.0.0 date, 2.2.0/2.2.1 ajoutes, Unreleased = travail #79 post-2.2.1)

- AGENTS.md + docs/DELIVERY_WORKFLOW.md: methode de livraison unique (Definition of Done) referencee par ROADMAP, CONTRIBUTING, ISSUES_TODOLIST
This commit is contained in:
2026-09-11 14:07:56 -04:00
parent 55696bfb31
commit ce23ab38f7
14 changed files with 1251 additions and 883 deletions
+73 -1
View File
@@ -14,6 +14,61 @@ et [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
### Ajouté
- **#79 Assistant IA — Outils (function calling) & serveur MCP — Phase 0 (couche d'outils partagée)** —
nouveau paquet `backend/tools/` : `context.py` (`ToolContext`), `registry.py` (décorateur `@tool`
+ schéma JSON), `schemas.py`, `service.py`, `audit.py` (journalisation JSONL des appels), façade
`backend/tools/api.py`. Services lecture/recherche livrés (`list_vaults`, `list_directory`,
`read_file`, `search_fulltext`, `list_tags`) ; permissions `check_vault_access` + `resolve_safe_path`
appliquées par outil. Tests : `tests/test_tools.py` (30 tests).
- **#79 Phase B (partielle) — function calling in-app** — abstraction tool-calling
provider-agnostique `backend/ai_chat.py` (`chat_completion`, `ToolCall`, `LLMResponse`, OpenAI-compat
+ Gemini) ; agent loop `backend/agent/loop.py` (boucle tool→résultat→tool, limite 10 itérations,
truncation) ; endpoint opt-in `POST /api/ai/bookslm/agent` (events SSE `tool`/`message`/`confirmation`) ;
fallback automatique en chat simple si le provider rejette les tools. Tests : `tests/test_agent_loop.py`,
`tests/test_ai_chat.py`, `tests/test_bookslm.py`.
- **#79 G — Sélection fournisseur/modèle par défaut** — `ai_default_provider` + `ai_default_models`
persistés dans `data/config.json`, rechargement à chaud dans `backend/ai.py`, sélecteurs
« Fournisseur par défaut » / « Modèle par défaut » dans `#cfg-ai`, i18n FR/EN.
### Corrigé
- **#79 façade `backend/tools/api.py`** — gestion des namespace packages et du `__init__` ignoré
lors du chargement des modules d'outils.
### Documentation
- **Guide d'architecture IA** — `docs/AI_ARCHITECTURE_GUIDE.md` (architecture, catalogue d'outils,
sécurité, phases).
- **Refonte de la documentation** — la [Roadmap](./docs/ROADMAP.md) ne contient plus que le travail
à venir + un index compact ; les fonctionnalités livrées sont archivées dans
`docs/archive/COMPLETED_v1-v2.md` et documentées par feature dans `docs/features/`.
- **Méthode de livraison unifiée** — nouveau [`docs/DELIVERY_WORKFLOW.md`](./docs/DELIVERY_WORKFLOW.md)
(Definition of Done : tests, documentation, commit, push, CI) et [`AGENTS.md`](./AGENTS.md)
(instructions obligatoires lues à chaque session). Référencés depuis la Roadmap, CONTRIBUTING
et ISSUES_TODOLIST.
---
## [2.2.1] — 2026-09-11
### Ajouté
- **Mobile — assistant AI central** — bouton assistant dans la barre du bas (commit 50b823e).
### Corrigé
- **Version affichée dans l'UI** — affichait `2.1.0` au lieu de `2.2.0` (commit 84bda90).
- **Mobile** — boîte d'édition de l'assistant relevée au-dessus de la barre du bas (commit f307ecb).
---
## [2.2.0] — 2026-09-11
### Ajouté
- **Assistant AI contextuel (sidebar)** — l'assistant s'adapte désormais au contexte d'ouverture :
- **Répertoire** (`directory`) : ouvert depuis le menu contextuel d'un dossier — le contexte est
le dossier et son contenu (mode historique BooksLM).
@@ -73,6 +128,23 @@ et [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
- CI : job lint ajoute `node plugins.test.mjs` aux tests JSDOM.
- Docs : `docs/PLUGINS.md` (manifest, hooks, permissions, modèle de sécurité, API, guide).
- **#78 Excalidraw — finitions** : décompression lz-string du format plugin Obsidian,
création depuis la modale et le menu contextuel, extraction du texte pour la recherche
(B5), support `.excalidraw.md` (commit ac16fc1 + correctifs associés).
- **#67 Notifications web (Push API)** : `backend/push.py`, `POST /api/push/subscribe`,
clés VAPID dans `config.json`, toggle par vault, payload (fichier/vault/action) et
ouverture du fichier au clic (commit ac16fc1).
- **#68 Health check enrichi** : `GET /api/health/detailed` (admin-gated) exposant index,
mémoire (RSS/heap), uptime, connexions SSE, backups et espace disque (commit ac16fc1).
- **#77 Desktop — jumplist vaults récents** dans le menu Démarrer (commit ac16fc1).
- **#75 Split View — matrice E2E complète (37 tests)** : 16 tests `split-view.spec.js`
(raccourcis, drag & drop, persistance, navigation clavier) + 21 tests
`split-view-matrix.spec.js` couvrant 100% des cas d'ouverture/fermeture.
### Documentation
- **#78 Excalidraw — doc utilisateur finalisée** : `.excalidraw` / `.excalidraw.md` ajoutés aux
@@ -167,7 +239,7 @@ et [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
---
## [2.0.0] — Unreleased
## [2.0.0] — 2026-08-25
> ObsiGate passe à **2.0.0** avec sa **version bureau native** et de nombreuses fonctionnalités
> de productivité (branch main, 341 commits après le tag v1.8.0).