ラベル
PRやIssueで使用されるすべてのラベルの単一参照。信頼できる情報源:
.github/labeler.yml:actions/labelerが使用するパスラベル設定.github/label-policy.json: コントリビューターのティアしきい値- このページ: 定義、動作、および自動化される項目と手動の項目
定義が競合する場合は、まずソースファイルを更新し、その後このページを同期してください。
所有権の境界
ラベルは可搬性のあるメタデータです。これがどのような種類の作業なのか、どのコード領域に触れるのか、レビューする際のリスクはどの程度か、そして stale ポリシーや triage ポリシーで特別な対応が必要かどうかを示すものです。
プロジェクトボードの自動化は計画を支援するためのものであり、2つ目のPRレビューキューではありません。現在のissue-dashboardプランナーは手動かつレポート専用です。ボードは、より緩やかに変化する計画上の問いに答えるべきです。すなわち、何が着手できる状態にあるか、どのようなルーティングの証拠がそれをアクティブに保っているか、どのトラッカーやマイルストーンに属するか、そして何がブロックされているか、です。GitHubネイティブのPRステートは、引き続き素早く変化するレビューやマージに関する問いに答えるべきです。
更新頻度に基づいて分割を維持します:
- ラベルは独自の永続的な分類を保持します:作業の種類、スコープ/コンポーネント、レビューのリスク、測定された PR サイズ、および stale 除外。
- プロジェクトボードのフィールドは、それらのフィールドが積極的にメンテナンスされている場合、issueの計画段階、可視的なルーティングの証跡、依存関係の状態、stale適用除外の理由、ロードマップのグループ化に適しています。
- ネイティブの GitHub PR 状態は、変化の速いレビュー状態を管理します。レビュー判定、必須チェック、マージ可否、コンフリクト、古くなった承認などです。
ボードはメンテナーの作業を軽減するべきです。あるフィールドが PR のプッシュやレビューのたびに手動でのメンテナンスを必要とする場合は、代わりにラベル、マイルストーン、またはネイティブの GitHub state を使用することを推奨します。
ラベルは適切なルーティングを示唆できますが、所有権を意味するものではありません。channel:*、provider:*、tool:*、security、または docs ラベルは、おそらく対応が必要なサーフェスを特定します。コントリビューターに表示されるルーティングエビデンスのルールは、Project board contract に記載されています。
アクティブな作業には assignees を使用します。特別な stale、tracker、または deferred-decision の状態に説明が必要な場合は、issue コメント、issue 本文セクション、public フィールド、またはリンクされたトラッカーをルーティングの根拠として使用します。status:blocked は recorded-blocker ルールを使用します。Project board contract では、受け入れられる根拠ソースとルーティング結果を定義しています。
正規の表記
スコープ付きラベルはコロンの前後にスペースを入れない表記を使用してください。例: provider:openai、channel:telegram、security:policy、risk:high、size:XS、type:docs などのラベルです。名前空間を持たないフレーズ形式のラベルはフレーズのままにします。例: good first issue、help wanted、trusted contributor、stale-candidate。
レガシーの重複ラベル(provider: openai、channel: telegram、または tool: shell など)はクリーンアップ候補です。承認済みパケットがスペースなしの正規ラベルを作成または確認したため、risk: high、size: XS、および type: docs などのライブのスペース付きラベルは現在移行候補です。
段階的な移行の間、一部のレガシーラベルが有効なまま残る場合があります。新規または手動のアプリケーションでは、正規のスペースなしラベルを使用してください。一方、既存のレガシーなオープン参照は、オープン参照移行パケットが処理するまで残しておいて構いません。削除前に、オープンな issue/PR を正規のラベルへ移行してください。オープン参照を持つラベルを削除したり、ラベルファミリーを広範にリネームしたり、そのクリーンアップバッチに関するメンテナーの判断なしに stale-policy ラベルを削除したりしないでください。
自動化コントラクト
PR ラベルの自動化は、ソースごとに分かれています。pr-path-labeler.yml は、PR のオープン、再オープン、およびプッシュによる更新のたびに、.github/labeler.yml に基づいて actions/labeler を実行します。このワークフローは sync-labels: true を使用するため、.github/labeler.yml が管理するラベルは現在の PR のファイルセットから再計算されます。一致するパスラベルが追加され、一致しなくなったパスラベルは削除されます。
Dependabot は .github/dependabot.yml から設定されたラベルを自身の PR にも付与します。Cargo の更新には dependencies が付き、GitHub Actions と Docker の更新には ci と dependencies が付きます。これらのラベルは Dependabot PR の初期メタデータであり、同期されるパスラベラーの契約ではありません。
現在、.github/labeler.yml が管理しているのは、docs、ci、channel、provider:openai、tool:file などのパスおよびスコープのラベルのみです。risk:*、size:*、type:*、コントリビューターティア、ステータス、解決状況、stale、pickup の各ラベルは管理していません。
Size 自動化は、ラベルがレビュー中の実際の差分を引き続き示せるよう、プッシュされた PR の更新ごとに再計算する場合があります。#9345 は、別個のリスク分類子のロールアウトを担当します。そのリスクフェーズは、メンテナーが証拠を確認し、別途変更を有効にするまで、引き続きレポートのみとします。レポートのみの出力には、メンテナーが不一致や、両方のトリガーをすり抜けたセキュリティ関連の作業を監査できるよう、提案されたリスク、一致したルールの証拠、現在のリスク、risk:manual の状態、domain:security の状態を記録する必要があります。将来のリスク自動化では、risk:manual を強制凍結として扱う必要があります。メンテナーがオーバーライドを削除するまで、PR の risk:* ラベルを追加、削除、置換することはできません。
クリーンアッププロトコル
ラベルのクリーンアップはメンテナーが行う操作であり、通常のPRレビューの副次的な作用ではありません。
このシーケンスを使用します:
- 操作前にライブラベルの使用状況を更新してください。
- 候補を、履歴のない削除、オープン件数ゼロの重複削除、移行を優先するアクティブなラベル、ポリシーによる保留に分類します。
- オープン参照のあるラベルについては、承認済みクリーンアップバッチが正規ラベルを作成または確認した後、各オープンな issue/PR に正規ラベルを追加し、レガシーラベルを削除し、レガシーラベルのオープン参照がゼロであることを確認してから削除します。
- モジュールラベルのクリーンアップの一環として、ガバナンスラベル、stale-policyラベル、contributor-tierラベル、デフォルトのGitHubラベルを削除しないでください。
すべてのライブクリーンアップバッチでは、変更対象のラベルおよび issue/PR 参照について、メンテナーの明示的な承認が必要です。
ポリシーホールドバック
一部のラベルファミリーは、新しい表記法や分類法の設定と一貫していないように見える場合でも、意図的に機械的なクリーンアップの対象外となっています。これらは、別途のポリシー決定と正確なライブ操作パケットの後にのみ変更されるべきです。
| ファミリー | サポートする現在のメンテナーアクション | ライブラベルを変更する前に |
|---|---|---|
| ターミナルと解像度のラベル | アクティブキューから作業が外れた理由を説明してください: 追求されなかった、無効、重複、または明示的に拒否された。 | 履歴上のクローズの意味と貢献者の期待を維持し、稼働中のラベルを変更する前に、リネーム、エイリアス、マイグレーション、または削除のパケットを定義してください。置換および廃止は、後続の承認済みパケットが稼働中のラベルを作成またはマッピングしない限り、文書化されたプロセスのままとします。 |
| ステータスと未更新ラベル | イシューのライフサイクルと stale の動作を駆動し、受け入れ済みの作業、ブロッカー、アクティブな実装、status:stale、status:no-stale、および PR バックログの stale 処理を含む。 | 自動化によってissueの保護、警告、クローズの扱いが異なる可能性があるため、ポリシー優先で扱ってください。これらのラベルを見た目の調整やモジュールラベルの整理として変更しないでください。自動化とルーティングエビデンスのルールを考慮したstale/ライフサイクルポリシーパケットを通じて処理してください。 |
| コントリビューター層のラベル | .github/label-policy.json のしきい値で、レビュアーの信頼度とコントリビューター体験を示します。 | ポリシーファイルとこのガイドは一緒に更新してください。ラベルは担当者やレビューのルーティングに影響するため、見た目の整理を目的としてティアを削除したり名前を変更したりしないでください。 |
| GitHubのデフォルトラベル | bug、enhancement、documentation、question など、コントリビューターにとってなじみのあるエントリーポイントを維持します。 | テンプレート、検索、外部リンク、統合機能で既定値が使用される場合があるため、置き換えや廃止は、コントリビューター向けの分類体系に関する明示的な決定を経てのみ行ってください。 |
機密ラベルをライブ状態で維持すべきかどうかのテストは運用面で判断します。ライブラベルが消失した場合により困難になる具体的なアクションを、メンテナーが挙げられるでしょうか?挙げられる場合は、意図的にラベルを維持または置き換えます。挙げられない場合は、監査パケット内に履歴マッピングを保存し、承認された操作を通じて移行または削除します。
型ラベル
型ラベルは高レベルの作業クラスを表します。これらは docs、ci、dependencies などのパスラベルとは別のものです。
新規または手動のアプリケーションは、ライブラベルが存在する場合、以下のカノニカルなスペースなしラベルを使用する必要があります。既存のレガシー open refs は、open-reference migration packet がそれらを処理するまでスペース付きラベルを保持できます。カノニカルなスペル を参照してください。
type:tracker は、アクティブな親調整イシューに対する正式なトラッカーマーカー表記です。roadmap、type:roadmap、その他のトラッカーマーカーをエイリアスとして作成または適用しないでください。稼働中の type:tracker ラベルがまだ存在しない場合、ラベルの作成およびトラッカーマーカーの移行は、メンテナーが承認した個別の正確なパケットを通じてのみ行う必要があります。
| ラベル | 目的 |
|---|---|
type:ci | CI、ワークフロー、またはリポジトリ自動化の作業 |
type:dependencies | 依存関係またはロックファイルのメンテナンス |
type:docs | ドキュメントのみ、またはドキュメント主体の作業 |
type:rfc | RFC の課題または提案。アクティブな間は stale によるクローズから保護されます |
type:refactor | ユーザーに見える動作を保持することを意図したコード構造のクリーンアップまたは内部の再編成 |
type:test | テスト専用またはテスト主体の作業 |
type:tracker | リリース、ロードマップ、RFC/デザインスレッド、実装バッチ、クリーンアップ、または監査のためのアクティブな親調整イシュー。イシュー専用マーカー。これ自体ではステール保護、割り当て、受け入れ、またはコントリビューター対応可能なスコープを作成しません。 |
パスラベル
pr-path-labeler.yml によって自動的に適用されます。glob は .github/labeler.yml に記述されています。このページと設定が食い違う場合は、.github/labeler.yml を運用上の正とみなし、このページを更新してください。
基本スコープのラベル
| ラベル | 一致 |
|---|---|
docs | docs/**, **/*.md, **/*.mdx, LICENSE, .markdownlint-cli2.yaml |
dependencies | Cargo.toml, **/Cargo.toml, Cargo.lock, **/Cargo.lock, deny.toml, .github/dependabot.yml |
ci | .github/codeql/**, .github/workflows/**, .github/*.yaml, .github/*.yml, .github/*.json, .githooks/** |
core | src/*.rs |
cli | src/main.rs、src/lib.rs、src/commands/**、src/alias_cli/**、src/cli_input.rs、src/memory/cli.rs(zeroclaw memoryコマンド)、crates/zeroclaw-commands/**、crates/zeroclaw-runtime/src/cli_input.rs |
agent | src/agent/**, crates/zeroclaw-runtime/src/agent/** |
channel | src/channels/**、crates/zeroclaw-channels/src/** |
gateway | src/gateway/**、crates/zeroclaw-gateway/src/** |
config | src/config/**、crates/zeroclaw-config/src/** |
cron | src/cron/**, crates/zeroclaw-runtime/src/cron/** |
daemon | src/daemon/**, crates/zeroclaw-runtime/src/daemon/** |
doctor | src/doctor/**, crates/zeroclaw-runtime/src/doctor/** |
health | src/health/**、crates/zeroclaw-runtime/src/health/** |
heartbeat | src/heartbeat/**, crates/zeroclaw-runtime/src/heartbeat/** |
integration | src/integrations/**, crates/zeroclaw-runtime/src/integrations/** |
memory | src/memory/**、crates/zeroclaw-memory/src/** |
security | src/security/**、crates/zeroclaw-runtime/src/security/** |
runtime | src/runtime/**, crates/zeroclaw-runtime/src/** |
| quickstart | crates/zeroclaw-runtime/src/quickstart/**、crates/zeroclaw-gateway/src/api_quickstart.rs、apps/zerocode/src/quickstart_pane.rs、web/src/pages/quickstart/** |
desktop | apps/tauri/** |
hardware | src/hardware/**, src/peripherals/mod.rs, crates/zeroclaw-hardware/**, crates/zeroclaw-api/src/peripherals_traits.rs, firmware/** |
web | web/** |
zerocode | apps/zerocode/** |
provider | src/providers/**、crates/zeroclaw-providers/src/** |
service | src/service/**、crates/zeroclaw-runtime/src/service/** |
skills | src/skills/**、crates/zeroclaw-runtime/src/skills/** |
tool | src/tools/**、crates/zeroclaw-tools/src/** |
tunnel | src/tunnel/**, crates/zeroclaw-runtime/src/tunnel/** |
observability | src/observability/**, crates/zeroclaw-runtime/src/observability/** |
tests | tests/** |
scripts | scripts/** |
dev | dev/** |
ci は GitHub の自動化/設定ファイルを対象としており、すべての .github/** パスを対象とするわけではありません。ルートの .github/*.json マッチャーは自動化メタデータ(例: .github/label-policy.json)のために意図的に設けられているため、.github/assets/**、.github/ISSUE_TEMPLATE/**、.github/CODEOWNERS、.github/pull_request_template.md などのファイルは ci にマッチしません。
追加のコンポーネントラベル
一部のサーフェスには、メンテナーへのルーティング用に、より狭い範囲のパス所有ラベルがあります。これらのラベルは、PRのdiffがリストされたファイルに触れる際に.github/labeler.ymlによって同期されます。
スコープ付きパスラベルは、同じプレフィックスのベースラベルを保証しません。pr-path-labeler.yml は sync-labels: true で実行されるため、メンテナーは PR にどのベースラベルとスコープ付きラベルが付与されるかについて、.github/labeler.yml を信頼できる情報源として扱う必要があります。
| ラベル | 一致 |
|---|---|
observability:log | crates/zeroclaw-log/src/**、crates/zeroclaw-runtime/src/observability/log.rs |
observability:otel | otel.rs、OTel 依存機能のリグレッションカバレッジ |
observability:prometheus | prometheus.rs |
runtime:wasm | ランタイム WASM プラットフォームおよびファーストパーティ WASM プラグインホストファイル |
security:bubblewrap | bubblewrap.rs |
security:docker | docker.rs |
security:leak-detector | LeakDetector のリダクションとセンシティブ出力のスキャン |
security:pairing | ペアリングセキュリティ、ゲートウェイペアリングAPI、Tauriペアリングコマンド、Webペアリングページ |
security:policy | ランタイムセキュリティポリシー、IAMポリシー、および設定ポリシーファイル |
security:secrets | ランタイムおよび設定シークレットの処理 |
security:traits | 共有セキュリティ特性とインターフェース定義 |
memory:backend | メモリバックエンドの選択とストレージ実装ファイル |
手動コンポーネントラベル
一部のスコープ付きコンポーネントラベルは、同期されたパスラベルではなく、手動ルーティングラベルです。
domain:architecture は、コンポーネント間の所有権、信頼できる唯一の情報源、依存方向、インターフェース/コントラクト、アーキテクチャ上の意思決定に関する作業を示します。イシューが RFC であるというだけで適用しないでください。
domain:security は、実効的な認証、認可、資格情報、秘密情報の取り扱い、隔離、ツール権限、セキュリティポリシー、暗号学的アイデンティティ、または信頼できない入力の境界を識別します。変更された動作がその境界を越える場合に適用します。標準的なセキュリティパスの外側も含みます。PR でセキュリティについて議論している、セキュリティのドキュメントやテストを変更している、アドバイザリ対象の依存関係を更新している、または信頼境界を変更せずに一般的な堅牢化を行っているという理由だけでは適用しないでください。パスのマッチングではこの影響を確実に推測できないため、ラベルは手動のままです。
domain:security は risk:* とは独立しています。risk:high または domain:security のいずれかを付与した PR では、マージ前に綿密なレビューと、独立した Core Team の承認 2 件が必要です。自動レビューは Core Team の承認として扱われません。
以下の重複したドメインおよびプロダクトサーフェスのラベルは、廃止予定です。新しい作業には適用しないでください。残っている未処理の参照を移行し、定義を削除する別個の正確な操作パケットが実行されるまでのみ有効です。
| ラベルの廃止 | 正規置換 |
|---|---|
domain:channels | channel と該当する channel:* ラベル |
domain:ci | type:ci;変更されたファイルがその自動化契約に一致する場合にのみ、パス所有の ci を追加する |
domain:code-quality | 具体的なスコープラベルと、該当する場合は type:refactor |
domain:deps | dependencies および/または type:dependencies |
domain:web-fetch | tool:web |
tauri | desktop;パスとタイトルでは Tauri は実装の詳細にとどまります |
保持されている製品ラベルは意図的に区別されています。cli はエンドユーザー向けのコマンドラインインターフェイスであり、channel:cli は対話型 CLI チャットチャンネルです。web はブラウザーのダッシュボードおよび Web チャット製品であり、tool:web はエージェントの Web 取得/検索ツールグループです。zerocode は ZeroCode ターミナルアプリケーション、hardware はホスト統合、サポートクレート、ファームウェアツリーを対象とし、desktop は Tauri デスクトップ製品です。apps/tauri/** の外でネイティブなコンピューター操作を行う場合は、該当するツールまたは製品ラベルを使用してください。パスが一致しない PR に、同期済みの desktop を手動で適用しないでください。
agent:prompt は、プロバイダーから可視のプロンプト、コンテキスト、およびレスポンスガイダンスポリシーを対象とします。作業がシステムプロンプトの内容、ツール呼び出しのフォーマットガイダンス、プロンプトキャッシュに影響するコンテキスト、チャネルのレスポンスガイダンス、またはその他のモデルから可視の指示面であって、基本の agent、channel、memory、provider、runtime ラベルをまたぐものである場合に使用してください。該当する基本ラベルまたはスコープラベルに加えて適用します。これらを置き換えるものではありません。すべての crates/zeroclaw-runtime/src/agent/** の変更に適用しないでください。通常のエージェントランタイムの変更には基本の agent ラベルを使用してください。
agent:loop は廃止されました。エージェントループのルーティングには、基本の agent に加えて、該当する runtime、プロバイダー、チャンネル、ツール、またはリスクのラベルを使用してください。
新しい issue や PR にレガシーの observability: runtime_trace を適用しないでください。作業が OpenTelemetry トレーシングに関するものである場合は observability:otel を使用し、issue または PR がそのベースサーフェスにも一致する場合にのみベースの observability を追加し、将来の runtime-trace 固有の正規ラベルは別の create/migrate パケットで決定してください。
新しい Issue や PR にレガシーの security: leak_detector を適用しないでください。LeakDetector のリダクションおよび機密出力のスキャン作業には security:leak-detector を使用してください。
Gateway サブエリアラベル(gateway: api、gateway: sse、gateway:local_bridge、および gateway:webhook_ingress など)は、ライブマイグレーションのホールドバックとして残っています。新しいルーティングは、別のパケットが正規のスペースなし/ハイフン付きサブラベルを作成して参照を移行するか、それらのラベルをベースの gateway に統合するまで、ベースの gateway を使用する必要があります。
チャネルごとのラベル
変更がチャンネルクレートのパスに触れる場合、各チャンネルはベースの channel ラベルに加えて channel:<name> ラベルを取得します。channel:acp のようなクロスサーフェスのチャンネルラベルは、代わりに対応するベースサーフェスラベル(gateway、docs、または app/web スコープのラベルなど)とペアになることがあります。
channel:core は、共有チャネル API とオーケストレーターのラベルです。チャネルトレイトの契約、チャネルのオーケストレーション、配信フック、ルーティング/セッションの動作、ランタイムコマンドの処理、および単一のプラットフォームラベルでは誤解を招くようなクロスチャネルの動作に関する作業に使用します。
| ラベル | 一致 |
|---|---|
channel:acp | acp_channel.rs、acp_server.rs、zeroclaw-acp-bridge.rs、acp_session_store.rs、channels/acp.md、選択された ACP ゲートウェイ/アプリ/ウェブのエントリポイント |
channel:core | crates/zeroclaw-api/src/channel.rs、crates/zeroclaw-channels/src/lib.rs、crates/zeroclaw-channels/src/orchestrator/**、src/channels/mod.rs |
channel:bluesky | bluesky.rs |
channel:clawdtalk | clawdtalk.rs |
channel:cli | cli.rs |
channel:dingtalk | dingtalk.rs |
channel:discord | discord.rs、discord_history.rs |
channel:email | email_channel.rs, gmail_push.rs |
channel:imessage | imessage.rs |
channel:irc | irc.rs |
channel:lark | lark.rs |
channel:line | line.rs、channels/line.md |
channel:linq | linq.rs |
channel:matrix | matrix.rs |
channel:mattermost | mattermost.rs |
channel:mochat | mochat.rs |
channel:mqtt | mqtt.rs |
channel:nextcloud-talk | nextcloud_talk.rs |
channel:nostr | nostr.rs |
channel:notion | notion.rs |
channel:qq | qq.rs |
channel:reddit | reddit.rs |
channel:signal | signal.rs |
channel:slack | slack.rs |
channel:telegram | telegram.rs |
channel:twitter | twitter.rs |
channel:wechat | crates/zeroclaw-channels/src/wechat.rs |
channel:webhook | webhook.rs |
channel:wecom | wecom.rs、wecom_ws.rs |
channel:whatsapp | whatsapp.rs, whatsapp_storage.rs, whatsapp_web.rs |
プロバイダーごとのラベル
プロバイダー固有のラベルは、専用のプロバイダーソースファイルに対応します。プロバイダールーターは独自のスコープ付きラベルを持ちます。ルーティングとモデルディスパッチの作業は共有のプロバイダーサブエリアであり、単一の具体的なプロバイダー統合ではないためです。共有のレジストリまたはファクトリーファイルには、基本の provider ラベルのみを付与すべきです。共有ファイルの変更が真に単一のプロバイダーにスコープされる場合、メンテナーが手動でプロバイダー固有のラベルを追加できます。
| ラベル | 一致 |
|---|---|
provider:anthropic | anthropic.rs |
provider:azure-openai | azure_openai.rs |
provider:bedrock | bedrock.rs |
provider:claude-code | claude_code.rs |
provider:compatible | compatible.rs |
provider:copilot | copilot.rs |
provider:gemini | gemini.rs, gemini_cli.rs |
provider:glm | glm.rs |
provider:kilocli | kilocli.rs |
provider:ollama | ollama.rs |
provider:openai | openai.rs, openai_codex.rs |
provider:openrouter | openrouter.rs |
provider:reliable | reliable.rs |
provider:router | router.rs |
provider:telnyx | telnyx.rs |
プロバイダーラベルの一部は、専用のソースファイルではなく、現在 OpenAI 互換プロバイダー実装を共有しているプロバイダーファミリーを示します。メンテナーは、issue や PR が実際にそのファミリーに関するものである場合に、これらを手動で適用できます: provider:groq、provider:kimi、provider:minimax、provider:moonshot、および provider:qwen。共有ファクトリーや互換プロバイダーのファイルをこれらのラベラールールに追加しないでください。関連のない共有変更に過剰にラベルが付いてしまいます。
ツールグループごとのラベル
ツールは、ファイルごとに1つのラベルではなく、論理的な機能ごとにグループ化されています。
| ラベル | 一致 |
|---|---|
tool:browser | browser.rs, browser_delegate.rs, browser_open.rs, text_browser.rs, screenshot.rs |
tool:cloud | cloud_ops.rs, cloud_patterns.rs |
tool:composio | composio.rs |
tool:cron | src/tools/cron_add.rs、src/tools/cron_list.rs、src/tools/cron_remove.rs、src/tools/cron_run.rs、src/tools/cron_runs.rs、src/tools/cron_update.rs、crates/zeroclaw-runtime/src/tools/cron_add.rs、crates/zeroclaw-runtime/src/tools/cron_common.rs、crates/zeroclaw-runtime/src/tools/cron_list.rs、crates/zeroclaw-runtime/src/tools/cron_remove.rs、crates/zeroclaw-runtime/src/tools/cron_run.rs、crates/zeroclaw-runtime/src/tools/cron_runs.rs、crates/zeroclaw-runtime/src/tools/cron_update.rs |
tool:delegate | crates/zeroclaw-runtime/src/tools/delegate.rs |
tool:file | src/tools/file_edit.rs, src/tools/file_read.rs, src/tools/file_write.rs, src/tools/glob_search.rs, src/tools/content_search.rs, crates/zeroclaw-tools/src/file_edit.rs, crates/zeroclaw-runtime/src/tools/file_read.rs, crates/zeroclaw-tools/src/file_write.rs, crates/zeroclaw-tools/src/glob_search.rs, crates/zeroclaw-tools/src/content_search.rs |
tool:google-workspace | google_workspace.rs |
tool:mcp | mcp_client.rs, mcp_deferred.rs, mcp_protocol.rs, mcp_tool.rs, mcp_transport.rs |
tool:memory | memory_forget.rs, memory_recall.rs, memory_store.rs |
tool:microsoft365 | microsoft365/** |
tool:pushover | pushover.rs |
tool:security | src/tools/security_ops.rs, src/tools/verifiable_intent.rs, crates/zeroclaw-runtime/src/tools/security_ops.rs, crates/zeroclaw-runtime/src/tools/verifiable_intent.rs |
tool:shell | src/tools/shell.rs, src/tools/node_tool.rs, src/tools/cli_discovery.rs, crates/zeroclaw-runtime/src/tools/shell.rs, crates/zeroclaw-gateway/src/node_tool.rs, crates/zeroclaw-tools/src/cli_discovery.rs |
tool:sop | src/tools/sop_advance.rs、src/tools/sop_approve.rs、src/tools/sop_execute.rs、src/tools/sop_list.rs、src/tools/sop_status.rs、crates/zeroclaw-runtime/src/tools/sop_advance.rs、crates/zeroclaw-runtime/src/tools/sop_approve.rs、crates/zeroclaw-runtime/src/tools/sop_execute.rs、crates/zeroclaw-runtime/src/tools/sop_list.rs、crates/zeroclaw-runtime/src/tools/sop_status.rs |
tool:web | web_fetch.rs, web_search_tool.rs, web_search_provider_routing.rs, http_request.rs |
tool:schema は、ツールスキーマのシリアライズおよびクリーニングの問題に対する手動専用のラベルです。広範なスキーマファイルを .github/labeler.yml に追加しないでください。多くのスキーマファイルは共有設定、プロバイダー、または API のサーフェスであり、無関係な変更に過剰にラベル付けしてしまう可能性があります。
サイズラベル
実効的な変更行数に基づき、ドキュメントのみのPRやロックファイル中心のPRに対して正規化されます。現在は手動で適用されています。以前これらを計算していたサイズ自動化は、CIの簡素化の際に削除されました。今後のサイズ自動化は自動化契約に従う必要があります。
新規または手動のアプリケーションは、以下の正規のスペースなしラベルを使用する必要があります。既存のレガシー open refs は、open-reference 移行パケットがそれらを処理するまでスペース付きラベルを保持しても構いません。Canonical spelling を参照してください。
| ラベル | 閾値 |
|---|---|
| size:XS | 80行以下 |
size:S | 250行以下 |
size:M | 500行以下 |
size:L | 1000行以下 |
size:XL | > 1000行 |
リスクラベル
PR の場合、リスクラベルはレビュー対象の実際の差分(変更されたパス、動作の変更、セキュリティ境界の露出、ロールバックの難易度)を表します。Issue の場合、リスクラベルは報告内容に基づく修正の影響範囲を表し、レビュアーの精査深度やコントリビューターの適合性のトリアージに役立ちます。また、具体的な PR が実際の実装パスを示した時点で変更される場合があります。現在は手動で適用されています。今後のリスク自動化は自動化契約に従う必要があります。
新規または手動のアプリケーションは、以下の正規のスペースなしラベルを使用する必要があります。既存のレガシー open refs は、open-reference 移行パケットがそれらを処理するまでスペース付きラベルを保持しても構いません。Canonical spelling を参照してください。
| ラベル | 意味 |
|---|---|
risk:low | 本番環境、互換性、ビルド、リリース、ガバナンスに影響を及ぼさないドキュメント、ローカライズ、フィクスチャ、生成されたリファレンス、または機械的メタデータ |
risk:medium | 通常の動作に関する本番環境の変更。ランタイム、ゲートウェイ、プロバイダー、チャネル、ツール、設定、アプリケーション、CI に関する作業の大半を含む |
risk:high | 詳細なレビューとCore Teamによる独立した2件の承認を必要とする、具体的な信頼、認証情報、互換性、ガバナンス、またはリリース権限の境界 |
risk:manual | メンテナーによるオーバーライドで、今後の自動的なリスク置換を凍結します。レビューや承認の要件を緩和するものではありません。 |
risk:* はコンポーネントの大まかな場所ではなく、実際の差分とその影響を表します。高リスク境界内の本番環境に影響を及ぼさないテスト専用の変更は、テスト専用の境界全体を明確に示せる場合、risk:medium になることがあります。この例外については #9530 が正式な根拠です。
メンテナーが意図するリスクが将来の自動判定結果と異なる場合は、常に risk:manual を使用してください。これには、#9530 の、本番環境に影響しないことを示せるテスト専用のダウングレードも含まれます。非セキュリティ変更が、安定した自動ルールの対象外となる、破壊的変更、データ損失、デフォルト動作の互換性破壊、ガバナンス、リリースセキュリティ、またはその他の具体的な高リスクの結果をもたらす場合は、risk:high と risk:manual を適用してください。これにより、別のラベルファミリーを作成するのではなく、認められている手動エスカレーション経路を維持できます。根拠はレビューまたは PR の記録に残してください。
不確かな場合は上位に分類し、境界の判断をメンテナーに依頼してください。レビューでの判断を避けるためだけに、自動パスルールの適用範囲を広げないでください。
コントリビューターティアラベル
.github/label-policy.json で定義されています。GitHub API から取得した著者のマージ済みPR数に基づいています。現在、手動で適用されています。
| ラベル | 最小のマージ済みPR |
|---|---|
| 信頼されたコントリビューター | 5 |
経験豊富なコントリビューター | 10 |
主要貢献者 | 20 |
distinguished contributor | 50 |
優先度ラベル
優先度ラベルは、メンテナーのスケジュール上の緊急度を示すものであり、担当者や実装状況を示すものではありません。手動で付与し、issue の影響度やリリースの状況が変わったときに見直してください。
| ラベル | 意味 |
|---|---|
priority:p0 | 緊急のメンテナー対応を要する重大なブロッカー。優先度が維持されている間は、issue の stale 処理の対象外です |
priority:p1 | 通常のキューに先立ってスケジュールする優先度の高い作業 |
priority:p2 | メンテナーが明確な関心を示している中優先度の作業 |
priority:p3 | 緊急のスケジュール確約を伴わない、優先度の低い追跡対象作業 |
ステータスラベル
RFC および追跡対象の作業項目のライフサイクル状態を追跡します。メンテナンスされたワークフローで別途指定がない限り、手動で適用されます。
| ラベル | 説明 |
|---|---|
status:accepted | チームによって承認されたRFCまたは作業項目。これだけではissueがstale処理の対象外になるわけではありません。 |
status:blocked | 作業は有効ですが、外部依存関係、メンテナーの判断、またはリンクされた前提条件を待機しています。ブロッカーが記録され未解決の間は stale から除外されます。同じブロッカーに対して status:no-stale と併用しないでください。 |
status:in-progress | オープンな PR がこの issue に積極的に対応しています。stale パスの実行中はライブの PR の状態と照合してください。PR がクローズされた後は、このラベルは恒久的な除外対象とはなりません。 |
status:stale | 問題はIssue stale policyで定義された応答ウィンドウ内にあります |
status:no-stale | 別の stale 除外でまだ保護されていない、承認済みまたは長期間有効な作業に対する明示的な stale 適用除外。対象ポリシー: Project board contract にコントリビューターから参照可能な stale 適用除外の理由とルーティングの根拠がある場合にのみ使用してください。アクティブなリリーストラッカーおよびアクティブな RFC または設計トラッカーは、それらがアクティブである間、トラッカー自体を参照可能な理由およびルーティング面として使用できます。マイルストーンがクローズしたとき、トラッカーがライブ状態から乖離したとき、RFC が決定に至ったとき、置き換えられたとき、クローズしたとき、または issue がアクティブなプロジェクト決定面を表さなくなったときに、それらを見直してください。これらの事実が欠けている既存の適用除外は、stale スイープがそれらを尊重しなくなる前に、監査して修復する必要があります。 |
Issue の stale ポリシー
このセクションは、issue が stale になるタイミング、対象となるアクティビティ、除外、および再エンゲージメントに関する正規の運用情報源です。その他のメンテナー向けドキュメントやスキルでは、これらのルールをコピーするのではなく、代わりにここへリンクしてください。
- エントリーウィンドウ: 対象となるアクティビティがないまま15日以上経過したら、
status:staleを適用します。 - 対応期間:
status:staleが適用されてから15日以上経過し、その後に条件を満たすアクティビティが発生していない場合にのみクローズします。 - 対象となるアクティビティ: 現時点での関連性を示す実質的なコメント。現在のリリースまたはコミットでその issue が発生することを確認する、issue がバージョン非依存である理由を説明する、または再現手順、ログやエラーの詳細、環境情報、影響を受ける具体的なユースケース、リグレッションの確認、回避策などの有用な根拠を追加する必要があります。一般的な
+1、管理上のコメント、ラベル変更、bot イベント、リンクイベントは対象になりません。 - 除外条件:
priority:p0、type:rfc、status:no-stale、リンクされたオープンな PR を持つ issue、冒頭の投稿に 10 件以上の 👍 リアクションが付いた issue、または記録されたブロッカーが未解決のままのstatus:blockedには、stale 処理を適用しないでください。issue がstatus:staleを保持している間に除外条件が発生した場合は、stale ラベルを削除してください。除外条件が終了したら、その日付からエントリのクロックを再開してください。 - 再エンゲージメント: ラベルが適用された後に対象となるアクティビティが発生した場合、または issue が再オープンされた場合は
status:staleを削除します。そのアクティビティまたは再オープン日から時計をリセットします。stale による close の後、コメント内に対象となる新たな証拠が示された場合、それはメンテナーが issue を再オープンしてstatus:staleを削除する根拠となります。コメント投稿者は代わりに、更新されたコンテキストで新しい issue を作成することもできます。
stale-candidate は別のものです。これは休眠状態の PR のバックログ整理シグナルであり、Issue 用の status:stale を置き換えるものではありません。
解像度ラベル
解決ラベルは、issue や PR がクローズされる、あるいはアクティブなキューから削除される理由を説明します。これらはライフサイクルのステータスラベルではなく、最終的な結果を示すものであり、将来のメンテナーがその判断を理解できるよう、十分なコメントによるコンテキストを含めるべきです。
| ラベル | 目的 |
|---|---|
wontfix | 有効なリクエスト、またはプロジェクトが明確に対応しないことを選択したレポート。簡潔な理由を添えてください。黙ってクローズしないでください。 |
invalid | バグ、機能リクエスト、サポート項目、RFC、または追跡対象のプロジェクト作業として対応できません。不一致点または不足している要件を説明してください。 |
duplicate | 別の追跡中のイシューまたはPRと根本的な原因が同じです。ディスカッションをクローズまたはリダイレクトする前に、正規の対象をリンクしてください。 |
メンテナーが承認したラベル移行パケットによって、正確なリネーム、エイリアス、または削除計画が定義されるまでは、status:wont-do や status:wont-fix などの提案されたターミナルラベルを作成または適用しないでください。ボードレベルの「Won’t Do」概念に対する現在の有効なラベルは wontfix です。
Superseding は置き換えプロセスであり、現在は有効なラベルではありません。後で承認された移行パケットが superseding ラベルを作成またはマッピングするまでは、置き換えルールと帰属要件については Superseding PRs を参照してください。
トリアージラベル
手動で適用:これらを処理していた自動応答の仕組みは、CI の簡素化の際に削除されました。
| ラベル | 目的 |
|---|---|
r:needs-repro | 不十分なバグレポートです。再現手順を確定してください。 |
r:support | バグバックログの外部でより適切に処理される使用方法/ヘルプ項目 |
needs-author-action | メンテナーがレビューまたはマージの手続きを続行する前に、作成者からの応答が必要です。PR では、次の対応が作成者に委ねられている場合に、変更を要求するレビューとともにこれを適用し、作成者が実質的な更新をプッシュするか、要求された情報を提供したら削除します。RFC では、REVISE の結果になった後、作成者が改訂版を準備している間に適用します。改訂された安定版の提案が Core の対応を受けられる状態になったら、これを削除して needs-maintainer-review を復元します。これは、それだけで stale 警告を示すものではありません。 |
needs-maintainer-review | メンテナーによる判断、レビュー、または投票の対応が保留中です。RFCでは、実質的なCoreの議論または批准の対応が必要な間に使用し、判断が記録されたか、次の対応が作成者または実装担当者に移った時点で削除します。このラベルは、採用、担当、またはstale化の防止を意味しません。 |
stale-candidate | クローズ候補となる休止中のPR。Reviewer Playbook → PR backlog pruning のstaleランプに従ってください。Issueのstaleパスでは status:stale を使用します。 |
ワークフローのラベル
成果物間の調整を可視化するため、手動で付与されています。これらのラベルは、所有権、受け入れ、または陳腐化の防止を意味するものではありません。
| ラベル | 目的 |
|---|---|
do-not-merge | PR に対するメンテナーまたはガバナンスによる明示的な保留。GitHub のネイティブなレビューおよびチェック状態では強制されない外部依存関係、ポリシー上の判断、または前提条件によって PR が保留されている場合に、status:blocked と併用します。特に、それ以外の点ではマージ可能に見える PR に使用します。これを適用する際は、ブロッカー、do-not-merge および併用するブロックラベルを削除する条件、マージ前に必要なチェックを記載した PR コメントを残します。レビューやリンクされた issue はその記録を補足できますが、代わりにはなりません。高リスクの PR を、別の Core Team による独立した承認のために明示的に割り当てる場合は、needs-maintainer-review と併用します。アクティブなリリースラインに入れてはならない将来ライン向けの作業に使用します。保留中の CI、ドラフト状態、遅れているブランチ、通常のレビュー、またはアクティブな CHANGES_REQUESTED だけを理由に適用しないでください。記録された条件が解消され、メンテナーが現在のネイティブなレビュー状態、必須チェック、マージ可能性、Definition of Done、およびマージチェックリストを再確認した後にのみ削除します。 |
follow-up | 親イシューまたは PR から意図的に切り出したスコープ。関係がわかるよう、親にリンクしてください。 |
release-gate | 指定されたリリースゲートに対して解決する必要がある指摘事項または作業項目 |
stacked | PR が別の PR に依存している場合は、明示的な Depends on #... 参照を含め、ベースとなる PR の後にマージします |
コミュニティ取り上げラベル
メンテナーが外部からのコントリビューションを希望する場合に手動で適用されます。
| ラベル | 目的 |
|---|---|
good first issue | 新しいコントリビューターでも安全に取り組める、小規模で自己完結した、十分にドキュメント化された XS/S サイズの作業。受け入れ基準、関連するコードやドキュメントへのリンク、そして指名されたメンターまたは連絡先が明記されています。 |
help wanted | メンテナーが外部からの協力を望み、レビュー可能で、ブロックされていない実行可能な作業。通常、問題が発生するリスクは低~中程度 |
help wanted を「有効だが担当者がいない」という汎用的な目印として使用しないでください。issue がブロックされている、アーキテクチャに依存している、受け入れ基準が欠けている、リスクが高い可能性がある、またはポリシー決定を待っている場合は、ブロッカーが解決されるか、メンテナーが不足しているスコープを記述するまで、pickup ラベルを付けずにそのままにしておいてください。
メンテナンスのトリガー
このページを更新するタイミング:
- 新しいチャンネル、プロバイダー、またはツールがソースツリーに追加されました(パスラベルに新しいエントリが必要です)。
- ラベルポリシーまたは閾値が変更されました。
- 新しいトリアージワークフローが表面化するか、古いものが削除されます。
自動化ステータスの注釈(「現在手動で適用」)は、ワークフローの欠如がラベルの階層が存在しないことを意味すると誤解しないように、意図的に含まれています。