ci(framework): mechanically enforce cross-plugin orthogonality on PRs
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- git, github-actions, typescript
Línea de trabajo
Start with docs/ARCHITECTURE.md and the existing validate.yml and Lefthook configuration to understand where checks run. Use the violations described in #406 as fixtures, then verify that one deterministic checker runs locally and in CI, reports the file, line, and owning plugin, and checks both inter-plugin addresses and skill metadata consistency.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Mechanically enforce the architecture rules a PR can silently break. Today they are self-attested at best, and #406 is the proof: aidd-orchestrator hardcodes aidd-dev, violating cross-plugin orthogonality, and nothing caught it.
Relationship to #406
- #406 fixes the violation that exists today.
- This issue stops the next one from landing.
One does not replace the other. Without this check, #406 recurs.
What to enforce
- Cross-plugin orthogonality. No plugin references another by name.
docs/ARCHITECTURE.mdstates the rule; nothing verifies it. A grep foraidd-<plugin>:outside its own plugin is a first approximation, but skill descriptions and routing regexes need a real check. - Docs match behavior. A change to a skill's actions that leaves its
descriptionandSKILL.mdrouter table stale.
Note on the original scope
This issue was written when .github/PULL_REQUEST_TEMPLATE.md carried a checklist with "Docs updated" and "No cross-plugin references introduced". That checklist is gone: the template now certifies one thing only, that a human read every line. The rules survive in docs/ARCHITECTURE.md, unenforced — which is exactly the gap this issue fills.
Acceptance criteria
- A PR introducing a hardcoded
aidd-<plugin>:address outside its own plugin fails a check. - The check names the file and line, not just the rule.
- The existing violations in #406 are the fixture: the check must catch them.
Guardrail local et CI
Un unique vérificateur d’orthogonalité est exécuté à deux niveaux :
- Pré-commit local : Lefthook l’exécute sur les fichiers modifiés et bloque le commit avec le fichier, la ligne et le plugin propriétaire.
- CI :
validate.ymlexécute les mêmes hooks sur toute l’arborescence. Elle reste l’autorité finale et bloque toute contribution ayant contourné le hook local.
Le garde-fou est un hook Git, pas un hook IA : il doit être déterministe, valable pour tous les outils et ne jamais dépendre d’un événement ou d’une configuration d’hôte IA.
Les deux niveaux vérifient les adresses inter-plugins et la cohérence entre actions, description et routeur d’un skill.
- Lenguaje dominante
- TypeScript
- Estrellas
- 481
- Forks
- 45
- Merge medio
- 19 h 38 min
- PR fusionados (30 d)
- 108
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de ai-driven-dev/framework
-
refactor(aidd-orchestrator): the check zone says when to stop, and reviews its axes in one round Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
ai-driven-dev/framework#887 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
ai-driven-dev/framework#873 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
ai-driven-dev/framework#872 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
ai-driven-dev/framework#625 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
ai-driven-dev/framework#467 · 1 comentario ·
Todos los issues de ai-driven-dev/framework
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
bcgov/bc-wallet-mobile#4761 · 1 comentario ·
-
external-issue to-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
area-deployment area-integrations triage:bot-seen
Dificultad 2/5 Medio día Aptitud para principiantes 86/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
refactor
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100