Community寫作與編輯github.com

pedroknigge/orderfield

多代理軟體工作的合約核心。計畫存在於磁碟上。子代理無法重寫。關閉即是證明。

orderfield 是什麼?

Orderfield 是一個基於磁碟的合約核心,專為需要跨越多個 AI 代理會話(例如 Claude、Codex、Cursor 等)的複雜軟體專案設計。它提供一個結構化的框架,透過「訂單」(ORDER)、「數據包」(packets)、「殘留」(residuals)和「體制」(regime)來管理多切片、多作者的工作,所有這些都持久化儲存在磁碟上,而非僅依賴對話記憶體。此技能的主要優勢在於其能夠在 AI 工作流程中強制執行一致性與可審計性:它保證一個託管多個代理的計畫(SPEC)在上下文壓縮後得以存活,並透過 `of contrast` 和 `of close` 等命令提供一套明確的檢查點和關閉程序。支援多種 AI 代理平台,包括 Claude、Codex、Orca、Cursor 和 Grok,並使用純 Python 標準函式庫。Orderfield 的運作原理是建立一個名為「場域」(field)的隔離工作區,其中包含一個 `ORDER.json` 檔案作為真實性的唯一來源。子代理可以在數據包內自由移動,但無法修改頂層的 ORDER。該核心強制執行原子寫入操作、跨程序鎖定以及檔案變更的預寫式日誌(WAL),以確保在並發會話和意外中斷期間的完整性。任何聲稱打包、產出、對比或關閉,但未在該輪次中執行相應 `of` 命令的行為,都將被視為中斷的執行。總體而言,Orderfield 提供了一個可靠的、基於合約的基礎設施,可以將複雜的、多步驟的開發任務委託給多個 AI 代理,實現結構化的協作與可審計的結果。

相容平台✓Claude Code✓Codex CLI✓Cursor✓Antigravity✓OpenCode
npx skills add pedroknigge/orderfield

Installed? Explore more 寫作與編輯 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件


name: orderfield description: v0.7.46 — 磁碟備份合約核心。當使用者呼叫 /orderfield 或 /of、必須恢復現有場域,或一個真正的多切片/多作者波次需要一個能在壓縮後存活的計畫時使用。人類安裝/驗證:docs/demo/mortal-install.sh 然後 of doctor。當有新版本釋出時,Doctor/status 每天詢問一次(需同意;非靜默)。不要僅因一個工具名稱或一個普通的子代理而觸發。未知的工具使用通用模式。 license: MIT 相容性:需要 Python 3.11+。可選的工具 CLI 包括 claude、codex、orca、agent 或 cursor-agent、opencode、grok、agy、qwen。核心僅使用標準函式庫。 metadata: version: "0.7.46" author: Soy Pei / orderfield principle: haken-slaving

orderfield 是做什麼的?

你是領導者。不要實作該切片。磁碟即為會話。

/of 是此技能。恢復。打包。殘留。對比。關閉。起源是一個指針,而非生成點。

工具(Claude、Codex、Orca、Grok、Cursor、OpenCode、Antigravity/agy)啟動和停止程序。ORDER、數據包、殘留和體制決策都存在於磁碟上。當一個核心、一個產品或一個多切片建置需要獨佔擁有者、一個能在壓縮後存活的 SPEC,以及在關閉前需要 of contrast 時,請使用它。如果一個代理已經足夠,請不要開啟場域。

合約詞彙表:docs/glossary.md。比較對象(Orca、AWS CAO、Agent Teams、CrewAI/LangGraph、雙工具技能):README.md。不變量:references/principles.md。

子代理在數據包內部自由移動。一個閾值殘留會阻塞該波次中的更多生成;它不會自行改變 ORDER。

核心強制執行公開的 JSON 模式、每個檔案的原子寫入,加上一個場域範圍的 WAL(階段 + MANIFEST + 發布)用於多檔案變更、一個用於 MUTATING_COMMANDS(init、new、pack、unpack、collect、integrate、phase、patch、next-wave、migrate、spec、checkpoint、close、gc)的跨程序場域鎖、打包上限、規範的數據包身份/路徑/修訂、殘留綁定、整合重播、受保護的階段/波次轉換、生成阻止,以及當工作透過 of 進行時的關閉體制選單。角色服從、產品工作區所有權、相同工具選擇、真實的子代理撰寫指標,以及 CLI 之外的直接寫入仍是協定。它不會鎖定產品檔案、自動建立工作樹、驗證指標,或監管不服從的子代理。of worktree 是一個選擇性加入的輔助工具,而非程序管理器。

接下來要輸入什麼

磁碟狀態你輸入的內容
.orderfield/ORDER.json 存在of resume — 然後列印出的 next,在同一輪次中
沒有 ORDER,真正的多切片工作of init --mission "…" --source "<逐字簡報>"
擁有者已知of pack --slice "…" --owns-requirement ID 然後 of handoff --packet 或 of spawn
切片看起來很大of pack --explain --slice "…" --role explorer — 說明原因;不寫入
史詩級任務進行中,下一個工具或人類of handoff(場域數據包)或 of handoff --json — 不要解包
殘留已送達of collect --wave N → of integrate --wave N
公共介面已演練of spec --verified-contract ID → of contrast → of close --checklist → of close
多波次準備關閉of close --checklist — 對比已解析 + 殘留為空;然後 of close。飛行狀態(殘留缺失)不算關閉
關閉的意義docs/close-is-proof.md — RFC:對比已解析 + 殘留為空 + CLOSE.json。僅殘留為空不等於關閉
子代理說場域有誤of patch … 然後 of next-wave
多個未匹配的開放場域加上 --field(寫入 .orderfield/ACTIVE),或 of new
多個同層級場域,需要飛行數據包of fields / of fields --json — 跨主目錄的開放數據包;of status --json 仍停留在一個場域
長任務(史詩 → 波次 → 修改 → 關閉)docs/long-mission.md — 遵循動詞;不要發明監管者
會話顯示 CLOSED、--tokens,或需要解包一個報告者of eval recovery/adversarial-dual-truth — 磁碟為準;--tokens 失效;收集/整合一個報告者
人類詢問安裝 / 驗證 ofbash docs/demo/mortal-install.sh --global(或 --root PATH);of doctor 必須列印 ok。固定版本:README / PUBLISH。非 pip。非守護行程
stderr/doctor 說有更新的 of詢問使用者;若是:ORDERFIELD_VERSION=… bash install.sh --global --from-release(發布的 tar.gz + SHA256SUMS)。每天一次。未經同意不要在 ORDER 中途升級
多工具殘留 / 深度技能目的地遺失 residual.codexof eval recovery/multi-harness-residual — Claude/Codex/Cursor 共享一個殘留;Codex argv 仍描述該模式
of doctor 列印 FAIL場域/核心 — 修復 ACTIVE/stub/packs/schemas/lock;技能 SKEW 單獨是 WARN / exit 0(bash install.sh --global)
next=HOLD 且子代理在飛行在本輪次向使用者引用最後的 PULSE 行;停留在那些數據包上

一個聲稱打包、產出、對比或關閉,但未在同一輪次中執行這些 of 命令的輪次,是一個中斷的執行。

何時使用

  • 使用者明確呼叫 Orderfield、/orderfield、/of、Haken slaving、閾值委派或訂單場域。
  • 複雜的軟體(一個核心、一個產品、一個多切片建置)無法在一個上下文中容納而不損失品質。
  • 多個切片或作者需要明確的擁有權,或多個工具必須協調。
  • .orderfield/ORDER.json 已存在於儲存庫中。

僅一個工具名稱不是觸發條件。如果一個任務適合一個代理、一個普通的子代理或一個技能,請不要開啟場域。技能優先於子代理。

自動回報 (HITL)

Orderfield 在 HITL 確認後,會自動將自身的缺陷回報給 pedroknigge/orderfield。這是核心/技能/CLI/文件/安裝的自我遙測 — 並非技術支援,也非針對消費者工作樹的工單。消費者的 git origin 永遠不在範圍內。amarilla-platform 的分支無法接收這些問題。使用 of issue。非單一波次限制。

僅在失敗是 Orderfield 自身問題時才自動回報:

  • 核心發出無效 schema / WAL 不一致 / 數據包產出 collect 無法接受的數據包 / 中繼資料不一致 / contrast 自我矛盾 / 文件聲明與程式碼不符 / 安裝/更新固定版本失敗 / 子代理鍛造或鎖定不變量被破壞。

請勿自動回報:

  • 子代理未完成、SPEC 不完整、產品測試紅燈、切片不受青睞、消費者建置錯誤、「使用者卡住」。這些保留在磁碟上(殘留 → 整合)。

如果不確定,撰寫草稿 + HITL,預設不發布。

未經同一輪次中明確的人類確認,絕對不要建立 GitHub 問題。

  • 確認 → 建立(HITL 後使用 of issue 而不加 --dry-run;執行它即為發送)。
  • 拒絕 / 稍後編輯 / 靜默 → 不要建立(或僅 of issue --dry-run)。

雙面都是合約。禁止自動發布、擅自發布以及從子代理發布。

of issue 總是針對 --repo pedroknigge/orderfield。即使沒有 ORDER 也能運作。僅使用標準函式庫:核心衍生 gh,使用已登入的帳戶(gh auth)。不要冒充、不要發明令牌、不要發布到消費者的 origin。核心永遠不會在標準輸入上提示 — HITL 仍然是領導者/人類。

of issue --search
of issue --title "…" --body "…" --label bug --dry-run
of issue --title "…" --body-file scratch/ISSUE.md --label enhancement

一個子代理(設定了 OF_CHILD、無頭生成,或任何無法詢問人類的會話)永遠不會發布。它會在其暫存目錄下撰寫草稿(ISSUE.md 或 issues/<slug>.md:標題、內文、標籤 bug 或 enhancement、證據路徑),或執行 of issue --dry-run,並在殘留中指名該草稿。你詢問 HITL,然後執行 of issue。

先搜尋開放的問題(of issue --search);跳過重複項。不要提交機密、令牌、私人對話記錄或場域內部的殘留(那些保留在磁碟上:殘留 → 整合)。每個不同的發現一份草稿或問題;不是日記。子代理程序:SLAVE.md。

強制性領導者流程

如果你的 PATH 中有 of,則執行它(安裝程式會將其符號連結到 ~/.local/bin/of)。否則,執行 python3 <skill>/scripts/of.py。在一個工作儲存庫中,狀態存在於該儲存庫的 .orderfield/ 目錄下,而非技能內部。如果有人類要求安裝或驗證安裝,執行 bash docs/demo/mortal-install.sh --global(檢出/解壓縮的樹)或 --root PATH 以進行封閉式檢視 — 然後 of doctor 必須列印 ok。固定版本配方:README / PUBLISH。不要發明 pip、監管者或第二個安裝程式。

工具呼叫紀律。 一個聲稱打包、產出、對比或關閉,但未在同一輪次中執行這些 of 命令的輪次,是一個中斷的執行。僅在 CLI 返回後以過去式宣告。

自動恢復。 一個開放的場域(spec_closed 為 false)在你切換對話、因壓縮而失去上下文,或使用者在其他地方處理不相關的任務時不會暫停。在那個工作區的每一次領導者輪次:先執行 of resume,讀取 auto_continue,然後在同一輪次中執行列印的 next 動作 — 視情況進行 handoff/spawn/collect/integrate/patch/next-wave/contrast/close。不要在 resume 後停止並等待使用者說「繼續」。除非使用者明確暫停或停止任務(pause / stop / wait on the field / cancel the mission / of init --force),否則不要詢問是否要恢復。如果 resume 列印了一個名單(PICK --field,退出碼 2)或外部場域(數個開放場域;此會話 ID 與綁定的起源不符),則這不是此會話的 next — 詢問哪個場域或執行 of new。一個唯一的開放場域會自動繼續,即使 OF_SESSION_ID 不同於 ORDER.origin.session_id — 起源是來源證明,而非恢復授權。一個在它所擁有的開放場域上執行 of resume,但未執行任何 next 工作的輪次,是一個中斷的執行。

引導策略(Eve 類比)。 當一個輪次正在進行中時,一個對開放場域的新使用者訊息是被引導的,而不是作為一個獨立任務排入佇列:修改或修補合約(of spec --amend、of patch)、繼續暫停的子代理(HOLD),或整合 — 除非使用者明確取消任務,否則不要執行 of init --force。一個對開放場域的指示性許可(dale、do it、as discussed)是執行 next,而不是 of spec --amend 那些文字。交錯的對話和壓縮不是暫停;它們是將上下文引導回磁碟。

上下文佈局(指令 vs 技能 vs 數據包 vs 子代理):docs/context-control.md。

在壓縮後或從交錯對話返回後,第一個動作仍然是 of resume — 從磁碟重建,而非聊天記憶體。

0. 從磁碟恢復(當 ORDER 存在時)

python3 <skill>/scripts/of.py resume

如果一個場域存在,從這裡開始。從數據包/殘留/狀態加上一個可選的檢查點摘要重建進行中的工作。當一個場域已經開啟時,不要執行 of init。不要重新打包一個已經有數據包且沒有殘留的子代理。Resume 是一個畫面;它不會自動生成、傾印日誌或新增體制。它會列印 field(open | closed)和 auto_continue(yes → 本輪次執行 next;no → 場域已關閉、數個開放場域中的外部起源,或一個名單)。一個唯一的開放場域會列印 yes,即使 OF_SESSION_ID 不同於 ORDER.origin.session_id。當 ORDER.origin 存在時,它會列印一行 origin <harness> [<session_id>];當該鍵缺失時省略該行。起源是來源證明(哪個工具會話開啟了場域),而非恢復授權也非對話記錄。活躍波次是 state.wave 加上數據包/殘留 — 過時的 session.json 不會勝出。一個已死亡的生成主機是同一份磁碟:僅有開始的生成中繼資料和不完整的 WAL 殘留不會隱藏已打包的子代理。不要在一個開放的場域上執行 of init(recovery/multi-day-resume、recovery/process-death-resume)。

同層級場域。 一個工作樹可能包含數個場域(.orderfield/fields/<id>/)。of new 開啟一個同層級場域而不殺死其他場域,並寫入 .orderfield/ACTIVE — 那是一個不相關的史詩任務。of new --parent 在綁定的史詩任務內部開啟一個巢狀階段(ORDER.parent);of close 將 ACTIVE 返回給該父級場域(不是 of merge)。相同任務、新的約束條件/完成條件/階段在此 ORDER 上,是對綁定場域執行 of patch。of fields 列出它們(* = ACTIVE;open/closed;phase/wave/packed-age;choose)以及一個跨開放主目錄的進行中子代理(殘留 MISSING)的 packs 區段。of fields --json 是史詩任務儀表板物件(PackRoster;recovery/cross-field-pack-roster)。--open / --all / --cursor 可以分頁顯示許多主目錄。傳遞 --field <id> 或 OF_FIELD(這會更新 ACTIVE)。Status/resume 在起源匹配後跟隨 ACTIVE;當巢狀主目錄存在時,忽略遺留的頂層 ORDER stub。--field 指向一個不同 ID 的 stub 會失敗;of migrate 將其歸檔到 ORDER.json.stub(recovery/root-stub-ambiguous)。核心永遠不會在標準輸入上提示。如果 resume 列印 PICK --field(退出碼 2),詢問使用者要附加哪個場域,或是否要執行 of new。如果 auto_continue no 說是外部場域,不要執行該場域的 next — 使用 --field 附加或開啟一個同層級場域。後續對唯一開放場域的非該場域會話不算外部。相同簡報,其他代理 → 附加。不相關的簡報 → of new。對相同產品的中途額外請求 → of spec --amend,不是 of new。圖示:docs/nested-fields.md。關閉範本:docs/close-honesty.md。長任務步驟:docs/long-mission.md。

簡報列出了 completed 子代理(殘留存在:狀態、result_ref、owns_requirements、擁有的路徑是否存在)和 in_flight / parked 子代理(殘留 MISSING:parked_reason、暫存、擁有者、擁有的路徑 present/missing、切片、打包時間、agents_note)。當任何殘留是 MISSING 時,of status / of resume / of pulse 會列印 running — 殘留 MISSING;工具殼層(Churned / done)不是場域。

…

[為翻譯而截斷]

相關技能