c5d696556e
三樣都做完並實測過,但落地的最後一步是終端機裡等人親手打字的互動閘。 它們原本只存在於某個 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>
65 lines
2.8 KiB
Markdown
65 lines
2.8 KiB
Markdown
# 卡在人類閘前的產物(`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` — 部署單檔 Worker(classic 格式)。
|
||
|
||
**落地指令**(一份跑一次):
|
||
|
||
```
|
||
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_token`/`cf_api_token`),真身由 credential 中心在執行前回填。
|
||
對應的 auth-recipe **已經註冊在 leo21c 上**,可以直接查證:
|
||
|
||
```
|
||
curl -s https://arcrun-cypher-executor.leo21c.workers.dev/auth-recipes/gitea
|
||
```
|
||
|
||
---
|
||
|
||
## 二、`hash` 零件(`#91`)
|
||
|
||
`hash-component/` — sha256/sha1/md5,hex/base64。出貨線的版本號機制與成品指紋核對都要它。
|
||
|
||
**已實測**(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 # 兩者應該一致
|
||
```
|
||
|
||
**落地要走零件投稿流程**(D27/D28):`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、零件在真端點上跑出正確雜湊),
|
||
不是「推上去了」。
|