Files
IdeA/.ideai/memory/checkpoint-issue-ticket-backend-v1-done.md
Blomios ebd992e41a docs(memory): notes projet tâches de fond, tickets V1 et checkpoints ticket #1
Capitalise la mémoire projet accumulée pendant les chantiers B7/B8
(tâches de fond first-class), le système de tickets V1 et le ticket #1 :
design, cadrages d'archi, checkpoints d'avancement et verdicts QA/frontend.
Mise à jour de l'index MEMORY.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 00:21:43 +02:00

54 lines
3.4 KiB
Markdown

---
name: checkpoint-issue-ticket-backend-v1-done
description: memory note checkpoint-issue-ticket-backend-v1-done
metadata:
type: project
---
---
name: checkpoint-issue-ticket-backend-v1-done
description: Checkpoint 2026-07-02 — backend V1 du système de tickets (T1-T5) terminé et vérifié vert sur feature/issue-ticket-system ; frontend F1-F5/F7 + QA formelle en attente du reset Codex.
metadata:
type: reference
---
# Checkpoint — système de tickets, backend V1 (T1-T5) fait & vérifié (2026-07-02)
Cadrage/design = [[issue-ticket-system-design]]. Branche `feature/issue-ticket-system` (base develop a9653bc).
## FAIT & vérifié (build + tests verts, harvesté sur disque)
- **T1** domaine `Issue` : `crates/domain/src/issue.rs` (+ tests `domain/tests/issue.rs`),
câblé dans `domain/src/{events.rs,ids.rs,lib.rs,ports.rs}`.
- **T2** store FS Markdown + allocator : `crates/infrastructure/src/issues.rs`
(`FsIssueStore`, `FsIssueNumberAllocator`, index.json, check version), tests `issue_store.rs`.
- **T3** use cases : `crates/application/src/issues/` (Create/Read/List/Update/UpdateCarnet/
Link/Unlink/AssignAgent, optimistic concurrency), tests `application/tests/issue_usecases.rs`.
- **T4** surface MCP : 10 outils `idea_ticket_{create,read,list,update,update_status,
update_priority,read_carnet,update_carnet,link,unlink}` enregistrés dans
`infrastructure/src/orchestrator/mcp/{mod,server,tools}.rs`.
- **T5** Tauri : `crates/app-tauri/src/tickets.rs` (commands + assign) + câblage composition-root
`crates/app-tauri/src/state.rs` (~l.824 : FsIssueStore/FsIssueNumberAllocator/use cases/
ticket_tool_provider). `cargo build` workspace OK ; app-tauri 47/51 tests verts.
## Dette pré-existante à NE PAS confondre avec régression
4 tests app-tauri rouges (`mcp_e2e_loopback_tests::{orphan_reply_is_typed_error,
ask_then_reply_round_trips_inline (+_codex)}`, `mcp_serve_peer_tests::handshake_then_tools_list`)
+ `infrastructure::orchestrator_watcher::ask_request_surfaces_reply_alongside_detail` :
tests de l'ANCIEN protocole ask/reply, échouent DÉJÀ sur `develop` vierge (prouvé par stash).
Le fix existe sur `feature/background-tasks-first-class` (alignement QA). Résorbés quand
background-tasks merge dans develop, ou à cherry-pick. NE PAS les compter contre les tickets.
## RESTE (bloqué reset Codex — les workers Architect/DevBackend/DevFrontend/QA partagent le
profil Codex ; Main+Git libres)
- **Frontend V1** : F1 gateway `IssueGateway` · F2 liste filtrable · F3 détail/édition
(conflits expectedVersion) · F4 éditeur Carnet Markdown · F5 liens & assignations · F7 `#42`
cliquable + pré-remplissage délégation. (F6 attachments = fast-follow hors V1.)
- **QA formelle** backend+frontend (create→lire via MCP, #N séquentiel, carnet édité par agent,
liens, assignation agent connu, optimistic concurrency conflit).
- Puis Git commit final + rebuild AppImage (NO_STRIP=true, cf. [[appimage-build-no-strip-relr-dyn-fix]]).
## Note process
Rendez-vous inter-agent timeout sur tâches LOURDES (binaire courant pré-B7) : l'agent produit
quand même le code, harvesté sur disque par Main (build+tests réels) puis commité via Git libre.
Confirme l'intérêt de B7/B8 (le rebuild B7 de 21:35 n'est pas encore le binaire lancé).
Lien : [[issue-ticket-system-design]], [[checkpoint-b7-blocked-codex-session-limit]],
[[background-tasks-first-class-design]].