Title: CI agent — Temporal canonical-usage review for tutorial PRs
▎
▎ Goal: Block PRs from landing tutorial code that violates documented Temporal SDK rules.
▎
▎ Scope: Every PR in temporalio/edu-* repos (and other repos opting in via
▎ .github/canonical-temporal-review.yml). Reviews these file types: *.py, *.go, *.java, *.ts, .cs,
▎ and .md for tutorial prose. Skips vendored, generated, and lock files.
▎
▎ Rule source of truth: temporalio/skill-temporal-developer/references/{language}/.md and
▎ references/core/.md. Every finding must cite a specific section. docs.temporal.io and
▎ temporal.mcp.kapa.ai serve as secondary lookup, not as rule sources.
▎
▎ Output: A GitHub Check Run with line-anchored annotations. One annotation per finding. Each finding
▎ includes:
▎ - Priority (High / Medium / Low — definitions in the appendix).
▎ - One-sentence problem statement.
▎ - One-line suggested fix.
▎ - Citation: skill-temporal-developer/{path}#section.
▎ - Annotations are scoped to lines changed in this PR, never to unchanged context.
▎
▎ Gate behavior: Check Run fails on any High-priority finding (blocks merge by branch protection);
▎ Medium and Low are advisory.
▎
▎ Coexistence: This agent owns Temporal-specific rules. Copilot reviewer keeps general code review.
▎
▎ Failure mode: If the LLM provider is unavailable or token budget is exceeded, return a neutral
▎ check-run with a message asking for manual review. Never fail-open silently.
▎
▎ Observability: Emit a metric per PR for: number of findings by priority, agent runtime, token cost,
▎ and dismissal rate (from the next push that resolves a finding).
Title: CI agent — Temporal canonical-usage review for tutorial PRs
▎
▎ Goal: Block PRs from landing tutorial code that violates documented Temporal SDK rules.
▎
▎ Scope: Every PR in temporalio/edu-* repos (and other repos opting in via
▎ .github/canonical-temporal-review.yml). Reviews these file types: *.py, *.go, *.java, *.ts, .cs,
▎ and .md for tutorial prose. Skips vendored, generated, and lock files.
▎
▎ Rule source of truth: temporalio/skill-temporal-developer/references/{language}/.md and
▎ references/core/.md. Every finding must cite a specific section. docs.temporal.io and
▎ temporal.mcp.kapa.ai serve as secondary lookup, not as rule sources.
▎
▎ Output: A GitHub Check Run with line-anchored annotations. One annotation per finding. Each finding
▎ includes:
▎ - Priority (High / Medium / Low — definitions in the appendix).
▎ - One-sentence problem statement.
▎ - One-line suggested fix.
▎ - Citation: skill-temporal-developer/{path}#section.
▎ - Annotations are scoped to lines changed in this PR, never to unchanged context.
▎
▎ Gate behavior: Check Run fails on any High-priority finding (blocks merge by branch protection);
▎ Medium and Low are advisory.
▎
▎ Coexistence: This agent owns Temporal-specific rules. Copilot reviewer keeps general code review.
▎
▎ Failure mode: If the LLM provider is unavailable or token budget is exceeded, return a neutral
▎ check-run with a message asking for manual review. Never fail-open silently.
▎
▎ Observability: Emit a metric per PR for: number of findings by priority, agent runtime, token cost,
▎ and dismissal rate (from the next push that resolves a finding).