Skip to content

Releases: shinya0x00/github-task-protocol

GitHub Task Protocol 1.0.3

Choose a tag to compare

@ao-codex-agent ao-codex-agent released this 26 Jul 03:40
70fab3a

GitHub Task Protocol 1.0.3 release notes

この文書は、package version 1.0.3のsourceに含まれる変更を説明する。tag、GitHub Release、PyPIでのpublicationをClaimしない。公開状況はrepository内のversion文字列ではなく、各公開先と公開後Evidenceで確認する。

変更内容

  • state: haltのとき、既存の診断事実から非エンジニアも修正境界を判断できる8項目の「問題の整理」を表示する。machine JSONのkey集合、exit code規則、authority: noneは変更しない。
  • 既知の非終端Check Run statusは、responseにconclusion keyが存在し、値が明示的なnullの場合だけpendingとする。key自体が欠落したresponseは既存のinvalid_evidenceとする。
  • sdistとwheelはexplicit manifestに宣言したregular fileだけを収録する。archive memberの順序とmetadataを正規化する。CIはcommit timestampをSOURCE_DATE_EPOCHとして渡し、未指定のbuildは固定値0を使う。
  • sdistはDESIGN.mdDECISIONS.mdadr/を収録し、current designとADR-035・ADR-036をarchive内で解決できるようにする。
  • CIはpull requestのsource headまたはmain push commitをSOURCE_SHAに固定する。Python 3.11 producerが2つのclean source exportから再buildしてbytesを比較し、SHA256SUMSBUILD-INFOを添付する。
  • pull requestではsource-head build jobがSOURCE_SHAのtree、integration jobがsynthetic mergeのHEAD(merge tree)を同じmanifest oracleへ渡す。integration jobはmerge treeのmanifest parityとfull unit test/budgetを検査するが、clean export、公開候補sdist/wheel、Twine、sidecar、Actions artifact uploadから成るproducer処理は実行しない。unit testがtemporary directoryで作るarchiveは公開候補ではない。merge refを公開候補のsourceにはしない。最後のrelease-ready Checkはbuild、3-version consumer matrix、integrationの結果を集約する。
  • Python 3.11、3.12、3.13のconsumerは同じbuild artifactをdownloadし、checksum、clean install、installed CLI、unit testを検査する。
  • READMEはsource versionとpublicationを分離し、特定versionの公開前後で意味が変わらないinstall案内にする。

Record grammar、"gtp": "1.0"、6 state、7 halt reason、machine JSON key、next_action、runtime dependency 0は変更しない。

含めないもの

generic Contract amendment semantics、human-post checker/gate、line-budgetの置き換えまたはstatus split、tag・GitHub Release・PyPI uploadなどのpublication operationは、1.0.3のartifact修復に含めない。

配布artifactの境界

  • PR artifactは検証専用であり、v1.0.3-pr-verification-<SOURCE_SHA>と命名する。
  • squash merge後のmain artifactだけを公開候補とし、v1.0.3-main-candidate-<SOURCE_SHA>と命名する。CI自体は公開しない。
  • artifactの保持期間は90日である。公開前にsource SHA、GITHUB_RUN_IDGITHUB_RUN_ATTEMPT、artifact IDとexpiry、filename、size、SHA-256、Pythonとzlib条件、再検査手順を公開operationの記録へ引き継ぐ。

Evidenceの限界

  • 2回のbyte一致は、同じSOURCE_SHASOURCE_DATE_EPOCH、記録したPythonとzlib条件での再現性を示す。未記録の実行環境まで同一bytesになることは保証しない。
  • twine check、checksum、clean install、unit testは公開、merge、安全性全体、または自然言語のDone Conditionの十分性を証明しない。
  • tag作成、GitHub Release、PyPI upload、公開後のredownloadとlive status検査には、それぞれ別のauthorityとEvidenceが必要である。

GitHub Task Protocol 1.0.2

Choose a tag to compare

@agent-operated-bot agent-operated-bot released this 20 Jul 14:53
cd1f45c

GitHub Task Protocol 1.0.2 candidate

状態: source candidate。PyPI、GitHub tag、GitHub Releaseは未作成であり、公開済みとはClaimしない。

このcandidateは、同じGitHub記録を後から安全に再構成する境界を修復する。

  • Stop後のfresh Recordをhalt / terminal_violationとして表示する。
  • Stop後に作られた同名branchのPRを、過去のstopped taskへ結び付けない。
  • GitHub 404、取得中のsnapshot変化、不完全なPR file一覧をAcquisition Errorとして分離する。
  • PR file取得前後でbase/head SHAとchanged_filesを固定し、repositoryのdefault_branchも再読する。
  • Start前から存在するPRをcandidateとDoneでは拒否し、Stopでは対象外として安全に閉じる。
  • PR作成またはmergeとStopが同一instantならstateを断定しない。
  • native merge前のDoneでbranch SHA、PR head SHA、Done head SHAを一致させる。
  • repositoryのdefault branchをStart branchとして受理しない。
  • Done提示前に、task固有の未確認事項を読むIssue URLを表示する。
  • clean-installed wheelからproduction status pathを実行するCI E2Eを追加する。

Record grammarと"gtp": "1.0"は変更しない。package versionだけを1.0.2へ進める。
旧release laneのIssue #64 / PR #67と修復predecessor Issue #73 / PR #74は未mergeでsupersedeされ、Issue #75 / PR #76をcanonical candidate laneとする。

Evidenceの限界

  • local testとclean installは、GitHub Actionsのexact-head Check Runを代替しない。
  • fixtureは外部GitHub HTTP境界を置き換え、実GitHubの権限構成や同時更新を証明しない。
  • package公開、tag、Release、mergeには、それぞれ別の明示的なauthorityが必要である。
  • 公開後のinstallとlive status再検証が終わるまで、READMEの1.0.2 commandを利用可能とはClaimしない。

GitHub Task Protocol 1.0.1

Choose a tag to compare

@shinya0x00 shinya0x00 released this 20 Jul 00:42
d882ebc

GitHub Task Protocol 1.0.1

何を公開したか

AIへ実装を任せながら、人間が目的、変更範囲、現在地、根拠、未確認事項をGitHub上で確認できるGitHub Task Protocolの仕様、任意CLI、受け入れ資料を公開します。

導入は3手順

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

CLIは必須ではありません。使う場合はuvx --from github-task-protocol==1.0.1 gtp status <issue-url>で現在地を確認できます。

現行実装から削った複雑性

  • RecordはContract、Start、Done、Stopの4種類だけです。
  • stateは6種類、halt reasonは7種類です。
  • runtime dependencyは0です。
  • GitHub取得はread-onlyで、GTP自身に変更、完了、mergeの権限はありません。
  • 仕様の正本は400行以内のGTP.mdだけです。

実際に通した受け入れ

  • Level 0: Issue URLだけを渡した異なるagent間の引き継ぎ
  • Level 1: clean installしたCLIによるlive donehaltstoppedの再構成と人間読解probe
  • Python 3.11〜3.13のtest、build、clean wheel install、CLI smoke

公開candidateのcommit、Check Run、artifact hash、Level 0/Level 1 permalink、PyPI URLは、公開後のEvidence recordに示します。

互換性上の注意

package versionは1.0.1です。Record内の"gtp": "1.0"はprotocol versionであり、package versionとは別です。既存tag v1.0.0は移動・再利用していません。

GTPが証明しないこと

GTPはactor本人性、credential安全性、コード品質そのもの、Evidence内容の真実性を証明しません。サンドボックス、最小権限、不可逆操作前の確認、reviewと組み合わせてください。