ci(framework): mechanically enforce cross-plugin orthogonality on PRs
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 48/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- git, github-actions, typescript
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
説明
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.
- 主要言語
- TypeScript
- スター
- 481
- フォーク
- 45
- 平均マージ
- 19時間 38分
- マージ済み PR(30日)
- 108
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
ai-driven-dev/framework のほかの issue
-
refactor(aidd-orchestrator): the check zone says when to stop, and reviews its axes in one round オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
ai-driven-dev/framework#887 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
ai-driven-dev/framework#873 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
ai-driven-dev/framework#872 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
ai-driven-dev/framework#625 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
ai-driven-dev/framework#467 · コメント 1 件 ·
ai-driven-dev/framework の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
bcgov/bc-wallet-mobile#4761 · コメント 1 件 ·
-
external-issue to-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
-
area-deployment area-integrations triage:bot-seen
難易度 2/5 半日 初心者へのやさしさ 86/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
-
refactor
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100