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>
54 lines
3.4 KiB
Markdown
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]]. |