Matrice di Collaborazione

Panoramica

Questa sezione documenta tutti i flussi di eventi tra i 22 server MCP Suite. La matrice mostra chi pubblica, chi sottoscrive, e i flussi end-to-end che emergono dalla composizione degli eventi.


Matrice Publisher/Subscriber

Chi Pubblica Cosa

[object Object],[object Object],[object Object] undefined

Chi Sottoscrive Cosa

[object Object],[object Object],[object Object] undefined

Classificazione dei Server

Server con Collaborazione Completa (Pubblicano + Sottoscrivono)

Questi server partecipano attivamente alla rete di eventi in entrambe le direzioni:

+------------------+         +------------------+
| scrum-board      |-------->| agile-metrics    |
| (4 eventi out)   |         | (3 eventi in)    |
| (1 evento in)    |<--------| retrospective    |
+------------------+         +------------------+

+------------------+         +------------------+
| time-tracking    |-------->| project-economics|
| (1 evento out)   |         | (2 eventi in)    |
| (1 evento in)    |         | (2 eventi out)   |
+------------------+         +------------------+
[object Object],[object Object],[object Object],[object Object] undefined

Server Solo Publisher (Pubblicano, non sottoscrivono)

Questi server generano eventi ma non reagiscono a eventi esterni:

[object Object],[object Object],[object Object] undefined

Server Solo Subscriber (Sottoscrivono, non pubblicano direttamente da tool)

[object Object],[object Object],[object Object] undefined

Server Pass-Through (Predisposti per il futuro)

Questi 9 server accettano l'EventBus nel factory ma attualmente non pubblicano ne sottoscrivono:

  • docker-compose
  • log-analyzer
  • data-mock-generator
  • codebase-knowledge
  • regex-builder
  • http-client
  • snippet-manager
  • project-scaffolding
  • environment-manager

Flussi End-to-End

Flusso 1: Ciclo di Vita Sprint

[Creazione Sprint]
scrum-board:create-sprint
    |
    +-- scrum:sprint-started -----> (informativo, espansione futura)

[Lavoro durante lo Sprint]
scrum-board:update-task-status
    |
    +-- scrum:task-updated -------> agile-metrics  (cycle time)
    |                           +-> time-tracking  (auto-timer futuro)
    |                           +-> standup-notes  (contesto standup)

[Chiusura Sprint]
scrum-board:close-sprint
    |
    +-- scrum:sprint-completed ---> agile-metrics       (velocity)
    |                           +-> project-economics   (snapshot costo)
    |                           +-> retrospective-mgr   (auto-crea retro)
    |
    +-- scrum:story-completed ----> agile-metrics       (throughput)

Flusso 2: Tracking Tempo e Costi

[Registrazione Tempo]
time-tracking:log-time / stop-timer
    |
    +-- time:entry-logged --------> project-economics  (conversione costo)

[Registrazione Costo Diretto]
project-economics:log-cost
    |
    +-- economics:cost-updated ---> (informativo)

[Verifica Budget]
project-economics:get-budget-status
    |
    +-- economics:budget-alert ---> (notifica se >80%)

Flusso 3: Ciclo DevOps

[Monitoraggio Pipeline]
cicd-monitor:get-pipeline-status
    |
    +-- cicd:pipeline-completed --> (informativo)
    |
    +-- cicd:build-failed -------> retrospective-mgr  (item discussione)
                                +-> standup-notes      (blocker)

Flusso 4: Quality & Review

[Analisi Codice]
code-review:analyze-diff
    |
    +-- code:commit-analyzed -----> (informativo)

code-review:suggest-improvements
    |
    +-- code:review-completed ----> (informativo, codebase-knowledge futuro)

[Vulnerabilita]
dependency-manager:check-vulnerabilities
    |
    +-- code:dependency-alert ----> (informativo)

Flusso 5: Retrospettiva e Miglioramento

[Sprint Completato]
scrum:sprint-completed -----------> retrospective-mgr (auto-crea retro)

[Generazione Action Items]
retrospective-mgr:generate-action-items
    |
    +-- retro:action-item-created -> scrum-board (auto-crea task futuro)

Diagramma Completo

                            +----------------+
                            | cicd-monitor   |
                            | (2 pub, 0 sub) |
                            +-------+--------+
                                    |
                     cicd:build-failed
                     cicd:pipeline-completed
                                    |
                    +---------------+---------------+
                    v                               v
           +--------+--------+            +---------+---------+
           | retrospective   |            | standup-notes     |
           | (1 pub, 2 sub)  |            | (1 pub, 2 sub)    |
           +--------+--------+            +-------------------+
                    |
      retro:action-item-created
                    |
                    v
           +--------+---------+
           | scrum-board      |
           | (4 pub, 1 sub)   |
           +--------+---------+
                    |
     scrum:sprint-completed
     scrum:task-updated
     scrum:story-completed
                    |
     +--------------+--------------+
     v              v              v
+----+------+ +-----+------+ +----+----------+
| agile-    | | time-      | | project-      |
| metrics   | | tracking   | | economics     |
| (0p, 3s)  | | (1p, 1s)   | | (2p, 2s)      |
+-----------+ +-----+------+ +---------------+
                    |
             time:entry-logged
                    |
                    v
              +-----+----------+
              | project-       |
              | economics      |
              +----------------+

Sviluppi Futuri della Collaborazione

Implementazioni Pending nei Collaboration Handler

Molti handler attualmente contengono placeholder (void payload) in attesa di implementazione completa:

[object Object],[object Object],[object Object] undefined

Redis EventBus

Per deployment multi-processo, l'implementazione RedisEventBus permettera la collaborazione tra server in processi separati:

Processo A              Redis             Processo B
  |                       |                   |
  |-- PUBLISH evento ---->|                   |
  |                       |-- SUBSCRIBE ----->|
  |                       |    (delivery)     |

Nuovi Eventi Pianificati

  • scrum:backlog-prioritized - Quando il backlog viene riordinato
  • time:timer-started / time:timer-stopped - Notifiche timer real-time
  • deploy:release-created - Integrazione con deploy pipeline
  • docs:readme-updated - Tracking modifiche documentazione