我剛修好的東西沒進到出貨的執行檔裡——而且沒有任何一道閘會講 #93

Open
opened 2026-08-12 01:51:34 +00:00 by Leo · 0 comments
Owner

沒有任何一道閘會告訴你「你要出貨的執行檔,比你剛修好的源碼舊」。

實撞(2026-08-12 上午,總管)

併完 Arcrun#85(補算向量的節奏/額度)與 Arcrun#88(零件目錄誤報)到 main 之後,
.worker-builds/manifest.json 記的來源 commit 是這樣:

arcrun-cypher-executor  成品記的 797e7f7   源碼已經是 525faaf   ⚠️
arcrun-kbdb             成品記的 a7e23ba   源碼已經是 3eb8b31   ⚠️

.worker-builds/出貨與安裝真正拿去部署的執行檔。這個狀態下去出貨或裝新實例,
送出去的是舊的執行檔——兩張票的修法一行都不會生效,而測試全綠、出貨管線也全綠。

這次是人工逐顆比對才發現的。

為什麼既有的閘沒抓到

installer/scripts/build-bundles.mjs 有一道「落後閘」,但它比的是
.worker-builds 這個目錄有沒有落後 main 的 commit」——
而這次沒有人碰過那個目錄,所以它安靜放行。

真正該比的是每顆 worker 自己的manifest.json 裡記的 source_commit
vs 那顆 worker 的 source_dir 現在的 HEAD。這個資料兩邊都已經有了,沒人拿來比。

要達成什麼

源碼比執行檔新的時候,任何會把東西送出去的動作都要當場停下來
並且直說是哪幾顆、差在哪一顆 commit。不是警告,是停。

怎麼驗才算數

  1. 刻意改一顆 worker 的源碼但不重編,跑出貨/打包 → 被擋下,訊息點名是哪一顆
  2. 重編後同一條路 → 放行
  3. 貼兩次的實際輸出

紅線

  • 不准改成「自動幫你重編」就放行——重編是有成本、也可能失敗的動作,
    要人看到「你少做了這一步」,而不是被靜默補上
  • 不准只在 arcrun-rag 那一側加閘:這是 Arcrun 自己的成品規約,
    裝新實例(init)走的也是這份成品

相關

Arcrun#80(成品的統一發佈位置)|arcrun-rag#77(出貨線)|
wiki/mistakes.md「修的東西在執行檔裡,改完源碼+測試綠 ≠ 送到用戶手上」

**沒有任何一道閘會告訴你「你要出貨的執行檔,比你剛修好的源碼舊」。** ## 實撞(2026-08-12 上午,總管) 併完 `Arcrun#85`(補算向量的節奏/額度)與 `Arcrun#88`(零件目錄誤報)到 main 之後, `.worker-builds/manifest.json` 記的來源 commit 是這樣: ``` arcrun-cypher-executor 成品記的 797e7f7 源碼已經是 525faaf ⚠️ arcrun-kbdb 成品記的 a7e23ba 源碼已經是 3eb8b31 ⚠️ ``` `.worker-builds/` 是**出貨與安裝真正拿去部署的執行檔**。這個狀態下去出貨或裝新實例, 送出去的是舊的執行檔——**兩張票的修法一行都不會生效**,而測試全綠、出貨管線也全綠。 這次是人工逐顆比對才發現的。 ## 為什麼既有的閘沒抓到 `installer/scripts/build-bundles.mjs` 有一道「落後閘」,但它比的是 「`.worker-builds` **這個目錄**有沒有落後 main 的 commit」—— 而這次沒有人碰過那個目錄,所以它安靜放行。 真正該比的是**每顆 worker 自己的**:`manifest.json` 裡記的 `source_commit` vs 那顆 worker 的 `source_dir` 現在的 HEAD。這個資料兩邊都已經有了,沒人拿來比。 ## 要達成什麼 **源碼比執行檔新的時候,任何會把東西送出去的動作都要當場停下來**, 並且直說是哪幾顆、差在哪一顆 commit。不是警告,是停。 ## 怎麼驗才算數 1. 刻意改一顆 worker 的源碼但不重編,跑出貨/打包 → **被擋下**,訊息點名是哪一顆 2. 重編後同一條路 → 放行 3. 貼兩次的實際輸出 ## 紅線 - 不准改成「自動幫你重編」就放行——重編是有成本、也可能失敗的動作, 要人看到「你少做了這一步」,而不是被靜默補上 - 不准只在 `arcrun-rag` 那一側加閘:這是 Arcrun 自己的成品規約, 裝新實例(`init`)走的也是這份成品 ## 相關 `Arcrun#80`(成品的統一發佈位置)|`arcrun-rag#77`(出貨線)| wiki/mistakes.md「修的東西在執行檔裡,改完源碼+測試綠 ≠ 送到用戶手上」
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Leo/Arcrun#93