Expand automated test suite: schema validation, pipeline contracts, graph integrity in CI

オープン
#136 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

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

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
48/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
静か
技術スタック
python
領域
ci-cd, testing, tooling

調査の方向性

まず validate-manifest.py、validate-graph-integrity.py、manifest.yaml、および CI workflow を読んで、既存のチェックと validator の呼び出し方法を理解します。frontmatter、pipeline contract、cross-reference、dead component に対する検証範囲を定義し、その後、push と pull request で CI 上ですべてのチェックが正常に実行されることを確認します。

索引モデルが issue の本文から書いたものです。

説明

enhancement

Summary

Expand PromptKit's automated test suite beyond the current validate-manifest.py to include frontmatter schema validation, pipeline contract chain validation, and graph integrity checking — all running in CI.

Motivation

GitHub Spec Kit has 13 pytest modules covering:

  • Manifest validation and schema enforcement
  • Agent config consistency (all supported agents have correct metadata)
  • Template resolution priority ordering
  • Extension/preset manifest schema validation
  • Release artifact parity checking

PromptKit currently has:

  • validate-manifest.py — checks manifest ↔ template protocol sync
  • validate-graph-integrity.py — exists but may not be in CI
  • self-audit-prompt.md — manual self-audit prompt
  • ❌ No frontmatter schema validation (required fields by component type)
  • ❌ No pipeline contract chain validation
  • ❌ No component cross-reference validation

Proposed Additions

1. Frontmatter schema validation

Validate that every component has the required frontmatter fields for its type:

  • Persona: name, description, domain, tone
  • Protocol: name, type (guardrail|analysis|reasoning), description
  • Format: name, type (format), description, produces
  • Template: name, description, persona, protocols, format, params, input_contract, output_contract
2. Pipeline contract chain validation

For each pipeline in manifest.yaml, verify that stage N's output_contract matches stage N+1's input_contract. Catch broken chains before they reach users.

3. Graph integrity in CI

validate-graph-integrity.py already exists — add it to the CI workflow alongside validate-manifest.py so it runs on every push/PR.

4. Component cross-reference validation
  • Every persona referenced by a template exists in personas/
  • Every protocol referenced by a template exists in protocols/
  • Every format referenced by a template exists in formats/
  • Every taxonomy referenced exists in taxonomies/
5. Dead component detection

Flag components that exist in the repo but are not referenced by any template or pipeline.

Credit

The testing depth and structure is inspired by GitHub Spec Kit's test suite. See their tests/ directory and TESTING.md for their approach to structural validation and manual testing mapping rules.

主要言語
JavaScript
スター
105
フォーク
23
PR マージ指標
30日以内にマージされた PR はありません

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

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

はじめの一歩

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

microsoft/PromptKit のほかの issue

microsoft/PromptKit の issue をすべて見る

似ている issue

JavaScript の issue をもっと見る

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

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