Skip to content

Contrôles d'architecture déclaratifs avec score et SARIF, sur le modèle de Plumber #51

Open

Description

@alexwrite

Context

Graphify sait chercher et analyser ; il ne sait pas encore vérifier des règles d'architecture déclarées. Modèle à suivre : Plumber (scanner open source de conformité des pipelines CI/CD) : contrôles activables dans un fichier du dépôt, score, sorties SARIF et SAST GitLab, correspondance avec des normes.

User story

En tant que mainteneur d'un projet, je veux déclarer des règles d'architecture et les voir vérifiées à chaque merge request, afin de empêcher la dette de revenir sans relire chaque diff.

Acceptance criteria

  • Fichier .graphify-rules.yaml : règles activables (sens d'appel entre couches, domaines autorisés, seuil de complexité une fois disponible)
  • Commande graphify check : code de sortie non nul sur violation, sorties texte, JSON et SARIF
  • Mode « pas de régression » : seules les nouvelles violations font échouer
  • Score d'architecture par dépôt
  • Composant CI documenté

Hints

  • Première règle déjà prototypée : appels entre couches dans un sens interdit (script de mesure, sortie 1 sur violation)
  • Dépend de la complexité par méthode pour les seuils

Hors scope

  • Publication publique du score

Activity

  1. github-actions commented on Oct 11, 2026

    @github-actions

    Thanks for opening this issue, @alexwrite. A maintainer will take a look soon.

    If you would like to discuss it in real time, come say hi on our Discord server. For longer-form questions and ideas there is also GitHub Discussions.

    To help us triage, please make sure the report includes what you expected, what actually happened, and the steps (and a small sample) to reproduce it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestp3Finition, dette, confort

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions