Files
uncle6me-web c5d696556e 保管:#89/#90/#91 卡在人類閘前的產物,從 session 暫存目錄搶進版控
三樣都做完並實測過,但落地的最後一步是終端機裡等人親手打字的互動閘。
它們原本只存在於某個 session 的 scratchpad——那種目錄一關就沒了。

· recipes/gitea_put_file.yaml     出貨線 7 站等它
· recipes/cf_worker_deploy_simple.yaml  ⚠️ 只適用無 bindings 的簡單情形(見 #90)
· hash-component/                 sha256/sha1/md5,已與系統原生指令逐位元核對
  (.wasm 是 1.3MB 編譯產物,不進版控,README 附重編指令)

README 寫了落地指令與各自的注意事項。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 22:38:55 +08:00
..

卡在人類閘前的產物(Arcrun#89 / #90 / #91

為什麼這個資料夾存在:這三樣東西都做完並實測過了,但落地的最後一步是 終端機裡等人親手打字的互動閘AI 打不進去。 2026-08-11 它們原本只存在於某個 session 的暫存目錄——那種目錄一關就沒了。 先搶進版控,等人有空時再落地。


一、兩份 recipe#89#90

recipes/gitea_put_file.yaml — 把檔案寫回 Gitea repo。出貨線有 7 站等它。 recipes/cf_worker_deploy_simple.yaml — 部署單檔 Workerclassic 格式)。

落地指令(一份跑一次):

acr recipe push pending-human-gate/recipes/gitea_put_file.yaml

跑的時候會停下來要你親手輸入資源名確認——那是「把資源變成可被外部呼叫」的暴露同意閘, 不是卡住,是設計如此。

⚠️ cf_worker_deploy_simple.yaml 先別急著推#90 查出一件結構性的事—— recipe 引擎的 body 一律 JSON,而 Cloudflare 上傳 Worker 的 API 要的是原始 JS 或 multipart。 ⇒ classic 版只適用於沒有 bindings 的簡單情形。而實查安裝器那站有 9 把 KV + 一顆 D1, classic 版幫不上它。詳見 Leo/Arcrun#90

金鑰(D36

兩份 recipe 都只寫名字(gitea_tokencf_api_token),真身由 credential 中心在執行前回填。 對應的 auth-recipe 已經註冊在 leo21c 上,可以直接查證:

curl -s https://arcrun-cypher-executor.leo21c.workers.dev/auth-recipes/gitea

二、hash 零件(#91

hash-component/ — sha256sha1md5hexbase64。出貨線的版本號機制與成品指紋核對都要它。

已實測tinygo 編出來、wasmtime 真跑,三種演算法都跟系統原生指令逐位元一致)。 .wasm 是 1.3 MB 編譯產物,沒有進版控——要驗自己重編:

cd pending-human-gate/hash-component && tinygo build -target=wasi -o /tmp/hash.wasm main.go
echo '{"algorithm":"sha256","input":"hello"}' | wasmtime /tmp/hash.wasm
printf 'hello' | shasum -a 256      # 兩者應該一致

落地要走零件投稿流程D27D28):docs/component-pr-review-standard.md 的 checklist + 人在終端機互動跑 scripts/component-arm.sh🔴 registry/components/ 底下有機械閘(component-guard.sh)擋著 AI 直接寫入——那是刻意的 所以這份放在 pending-human-gate/,不是放在它最終該去的位置。


落地之後

三樣都上去之後,Arcrun#89#91 才能從 ◐ 半通—— 而判準是貼一次真實的執行輸出(recipe 對某個測試檔案回 2xx、零件在真端點上跑出正確雜湊), 不是「推上去了」。