Skip to main content

Reconstruct AI coding task state from GitHub Issue records

Project description

GitHub Task Protocol

GTPは、AIへ実装を任せても、人間が目的・変更範囲・現在地・根拠・未確認事項を理解し、停止・再開・やり直し・mergeの判断を手放さないための小さなprotocolです。

作業はAIに任せる。判断は手放さない。

AIの説明だけを信じるのではなく、GitHub Issue上のRecordと、実際のbranch・PR・commit・Check Runからtask stateを再構成します。GTP自身は変更、完了、mergeの権限を与えません。

導入は3手順

  1. GTP.mdを導入先repositoryのrootへコピーする。
  2. 下の共通adapter文を、agentが必ず読む文書へ1段落追加する。
  3. taskごとにGitHub Issueを1件作り、agentへそのIssue URLを渡す。

共通adapter文:

このrepositoryはrootのGTP.mdをtask protocolの唯一の正本とする。GitHub Issue URLを受け取ったら、Issue commentをServer Orderで読み、4 Record、6 state、7 halt reasonに従って既存branch・PR・次のprotocol actionを再構成する。Recordを推測、編集、独自拡張せず、矛盾時は原因URLを示して止まり、取得不能はhaltと混同しない。GTPの表示やRecordは変更・完了・mergeの権限を与えない。

配置例は次のとおりです。runtimeごとに異なる指示を作る必要はありません。

  • Codex: AGENTS.md
  • Claude Code: CLAUDE.mdまたはAGENTS.md
  • Cursor: AGENTS.mdまたは.cursor/rules/gtp.md

4つのRecord

Record 平易な意味
contract 目的、変更してよい範囲、完了条件を固定する
start Contractと唯一の作業branchを結び付ける
done PRのsource headと、条件ごとのEvidenceを提示する
stop 完了を主張せず中止し、必要なら後継Issueを示す

RecordはIssue commentへ人向け要約を先に、機械用JSONを折りたたんで記録します。1 Issue = 1 branch = 1 PRです。

6つのstate

state 平易な意味
unmanaged 有効なContractがない
ready ContractはあるがStart前
in_progress 作業中、またはDone提示後のmerge待ち
halt 特定transitionを矛盾や不適合のため進められない
done Doneのsource headとEvidenceを持つPRがnative mergeされた
stopped Stopにより、このIssueでの作業を終了した

GitHub情報を完全に取得できない場合はstateを推測しません。これはhaltではなくAcquisition Errorです。

CLIは任意の検証器

人間がGTPを使うためにCLIをinstallする必要はありません。gtpはagentや自動検査がRecordと現在stateを確認するための、runtime dependency 0の任意toolです。

CLIはPyPI公開後、固定versionを指定して実行できます。GTPを使うだけならCLIのinstallは不要です。

uvx --from github-task-protocol==1.0.1 gtp status <issue-url>
uvx --from github-task-protocol==1.0.1 gtp check <comment.md>
  • statusはGitHubへGETだけを行い、日本語6項目の後にmachine JSONを出します。
  • checkは投稿前のMarkdown comment全文をoffline検査します。Issue上でもvalidだとは主張しません。
  • exit code、緑色のCheck Run、Evidence URLは、変更やmergeの許可ではありません。

仕様と判断記録

protocolの唯一の正本は400行以内のGTP.mdです。Record作成やstate判断に、他の文書は必要ありません。

DECISIONS.mdは、設計変更の理由と履歴です。GTP.mdと意味が衝突する場合はGTP.mdを優先します。

実GitHubで観測した引き継ぎ結果はacceptance/level0/にあります。これは仕様の代わりではありません。

GTPが証明しないこと

GTPは、actor本人性、credential安全性、コード品質そのもの、Evidence内容の真実性を証明しません。filesystem削除や本番database操作を物理的に防ぐものでもありません。

サンドボックス、最小権限、不可逆操作前の確認、reviewと組み合わせてください。最終的な受理は、人間がPRとEvidenceを読み、GitHubのnative mergeで判断します。

License: MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

github_task_protocol-1.0.1.tar.gz (145.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

github_task_protocol-1.0.1-py3-none-any.whl (25.2 kB view details)

Uploaded Python 3

File details

Details for the file github_task_protocol-1.0.1.tar.gz.

File metadata

  • Download URL: github_task_protocol-1.0.1.tar.gz
  • Upload date:
  • Size: 145.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for github_task_protocol-1.0.1.tar.gz
Algorithm Hash digest
SHA256 9170ef8c96f93dabd39b585098ecb53d7ba9b409449e84d46ced95b182c7e9dd
MD5 50971421606c4e831a631acab926555b
BLAKE2b-256 cd9093e5194b84eebfa44488d63abf394fad98663848147df7dfc77abcfd7061

See more details on using hashes here.

File details

Details for the file github_task_protocol-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for github_task_protocol-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9121816f3c7abd089eef4dc2630a43a47fc239e54fae49b306bd4d29824182cb
MD5 f57a5e9ca01e3bb93cdd4ed7e1457f95
BLAKE2b-256 ad2c262574d2d264a0dde523ce0d27d8854f9bb59db91937b35be2eafd2e0445

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page