Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

ci(framework): mechanically enforce cross-plugin orthogonality on PRs

クローズ
#250 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
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.md states the rule; nothing verifies it. A grep for aidd-<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 description and SKILL.md router 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.yml exé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

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

ai-driven-dev/framework のほかの issue

ai-driven-dev/framework の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。