ci(framework): mechanically enforce cross-plugin orthogonality on PRs
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 48/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- git, github-actions, typescript
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- TypeScript
- Star
- 481
- Fork
- 45
- Merge trung bình
- 19 giờ 38 phút
- Pull request đã merge (30 ngày)
- 108
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của ai-driven-dev/framework
-
refactor(aidd-orchestrator): the check zone says when to stop, and reviews its axes in one round Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
ai-driven-dev/framework#887 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
ai-driven-dev/framework#873 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
ai-driven-dev/framework#872 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
ai-driven-dev/framework#625 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
ai-driven-dev/framework#467 · 1 bình luận ·
Tất cả issue của ai-driven-dev/framework
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
bcgov/bc-wallet-mobile#4761 · 1 bình luận ·
-
external-issue to-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
-
area-deployment area-integrations triage:bot-seen
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 86/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
-
refactor
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100