Community程式設計與開發github.com

DLM 關閉與發布流程

安全地編排 DLM 任務關閉、可選的發布驗證,以及可選的精確路徑 Git 提交。在用戶要求關閉或沉澱任務、準備或驗證發布、更新版本或提交已完成範圍時使用。提交、推送、標籤、部署和工件複製仍為獨立的明確授權。

DLM 關閉與發布流程 是什麼?

此技能定義了一個嚴謹、多階段的工程範圍關閉與發布生命週期,專為重視分離關注點與安全性的 AI 代理使用案例所設計。它支援三種嚴格的授權模式:僅關閉、發布驗證、以及發布提交,並預設為最低權限的「僅關閉」模式。此技能強制執行一致的治理檢查點,包括必須讀取共用的「成果治理」文件,並為真實的任務與發布設定快照。其核心價值在於防止常見的範圍蔓延與授權錯誤:它要求進行精確的 Git 暫存區審查、不允許使用萬用字元路徑,並在未經明確授權的情況下,明確避免執行提交、推送或部署等下游動作。它透過在關鍵的寫入、發布或提交動作前,要求一個凍結的驗收基準線,並報告任何被故意忽略的無關檔案,來確保可稽核性。此系統適用於 Claude Code 或 Cursor 等代理平台,可協助用戶避免因無意的 Git 操作或過早的發布行為,而導致工作流程中斷或破壞協作倉庫。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/atlasray66-collab/agent-dlm-skills/tree/main/skills/dlm-close-release

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

DLM 關閉與發布流程 7 (可攜版)

目的

在不混淆任務完成、知識沉澱、發布產出、版本控制、Git 提交或部署的前提下,關閉一個已驗證的工程範圍。此個人技能負責編排生命週期;倉庫合約與子技能則保留其各自的技術規則。

成果治理關卡

在進行任何關閉寫入、發布/版本變更、正式稽核、暫存或提交前,請先閱讀並套用共享的 DLM 成果治理。

  • 保持工程目標狀態、證據狀態、DLM 協調狀態、發布狀態、Git 狀態、部署狀態與現場驗收狀態彼此分離。推進其中一項不代表其他項也隨之推進。
  • 為授權模式解析一個驗收基準線。在關閉寫入或發布/Git 變更前,基準線擁有者應一次性凍結其目標、非目標、授權範圍、所需證據、條件及停止線。雜湊值、BOM/EOL、簽出表示法與收據不會凍結或使其失效。
  • 僅在被相應合約/決策要求或使用時,關閉/沉澱/發布記錄才算目標工作。純粹的管理變更不會重新開啟不相關的建置/測試/稽核。
  • 對於穩定的目標狀態,最多只使用一次正式完整稽核,且僅在用戶、已接受的合約或重大風險證明其必要性時進行。修復後,僅重新驗證失敗的條件及直接相關的回歸問題。

選擇最狹義的授權模式

模式允許的操作典型意圖
close-only關閉審查、沉澱、DLM 驗證“關閉任務”“完成沉澱”
release-verifyclose-only 加上倉庫發布/版本建置及工件元數據驗證“準備發布”“驗證發布版本”
release-commitrelease-verify 加上精確路徑暫存與提交“更新版本並提交 Git”

預設為 close-only。提交請求不代表授權推送、標籤、部署、發布或工件複製。每項操作皆需獨立授權。若措辭不足以區分 Git/版本變更,請在動作前停止並詢問。

倉庫與合約鎖定

  1. 解析一個 Git 根目錄並閱讀其 AGENTS.md 與 DLM 合約。
  2. 執行任務與發布設定檔所需的最小 dlm-load。
  3. 請勿將此個人技能複製到倉庫中或將其加入上下文清單。
  4. 使用倉庫聲明的發布設定檔:
    • none:僅限關閉,除非用戶提供程序;
    • dotnet:以組合模式使用 dlm-version-master;
    • custom:使用倉庫自有的版本/建置/驗證合約。
  5. 在多倉庫或子模組工作中,每個 Git 根目錄使用獨立的白名單、驗證結果與提交。請勿聲稱跨倉庫的原子性。

階段 0 — 範圍快照

在進行任何寫入前,執行此合併的寫入者/範圍安全快照一次:

git status --short
git diff --name-status
git diff --cached --name-status
git ls-files --others --exclude-standard

為任務擁有的候選項目、預先存在的無關變更、以及預先暫存的檔案建立精確集合。若無法從用戶意圖、凍結的授權範圍、任務文件與差異分析中確立所有權,請在修改前停止。請勿為了製造授權證據而重複執行快照。切勿使用 git add . 或 git add -A。

階段 1 — 關閉審查

針對凍結的條件與符合聲稱的證據執行目標性關閉審查。使用 dlm-reflect;除非用戶要求、已接受的合約要求,或有重大風險證明其必要性,否則正式獨立審查為選項。當聲稱的完成等級獲得證實時繼續,或將重大的剩餘差距作為當前範圍工作/阻礙處理。僅建置成功不能代替行為、UI、硬體、遷移、安全或現場證據;同樣地,過時的管理索引也無法否定已證實的行為。

階段 2 — 沉澱

當用戶要求沉澱、已接受的倉庫/任務合約要求沉澱,或實際的載入/發布/決策消費者需要同步時,以組合模式執行 dlm-sediment 一次。僅寫入已確認的任務/領域知識與狀態。BRIEF/L0 核准關卡仍為啟用狀態。子技能必須回傳確切的變更路徑,且不得暫存或提交。若無此觸發條件,則記錄 sediment: not required 並保留已驗證的工程結論。

為實際的任務/知識消費者同步一次,並重複使用現有證據。請勿因為僅更新了協調記錄,就建立同義的收據或重新執行不相關的工程驗證。

對於 close-only 模式,僅在授權的關閉包含 DLM 狀態,或現行合約/消費者聲稱依賴於此類檢查時,才執行 DLM 健康檢查,然後在關閉報告後停止。跳過不適用的檢查不算是失敗。

階段 3 — 發布驗證

僅限於發布模式:

  1. 解析倉庫發布設定檔與確切產出範圍。
  2. 確定版本意圖。主版本/次版本需要明確意圖。僅在發布意圖存在且倉庫合約聲明該預設值時,才允許修補程式/自動版本。
  3. 序列執行倉庫版本/建置流程,除非其合約另行指定。
  4. 執行測試,並驗證凍結的發布標準/設定檔所要求的公開二進位/套件元數據與雜湊值;請勿將審查者偏好檢查新增為新的發布條件。
  5. 僅將有意的版本狀態、變更日誌、發布基礎設施與任務擁有的原始檔新增至候選白名單。

當建置、測試、雜湊或元數據檢查為凍結的發布基準線、倉庫設定檔,或已證明的具體產出風險所需時,該類失敗會阻止提交/發布聲稱。不相關的預先存在或管理失敗應分開報告,且不會無聲地擴大發布標準。

階段 4 — 精確暫存集關卡

僅限於 release-commit 模式:

  • 將白名單正規化為相對於倉庫根目錄的精確路徑。
  • 比較當前的暫存檔案與預先暫存的快照。
  • 請勿取消暫存用戶的工作。如果預先暫存的檔案不在白名單內,請停止並回報。
  • 如果白名單上的檔案混合了無法安全分割的、無關的既有變更,請停止並詢問。
  • 排除機密、機器本機設定、bin/、obj/、out/、日誌、擷取內容、發布/暫存輸出及暫存性工件,除非明確要求且合適。
  • 執行倉庫要求的空白字元/編碼檢查。

階段 5 — 暫存與提交

git add -- <exact-paths>
git diff --cached --name-status
git diff --cached --stat
git diff --cached --check
git status --short

要求暫存路徑與已核准的白名單完全相等。在提交前,根據此確切暫存差異,執行全域 AGENTS.md(ponytail-review 關卡及其守衛標記)與倉庫所要求的所有提交前審查;按照這些規則的要求解決或明確保留每個發現。如果所需的審查技能或掛鉤不可用,請在提交前停止並報告此差距,而非繞過它。每個 Git 根目錄使用倉庫慣例提交一次。除非被要求,否則請勿修改提交。提交後,檢查 git show --stat --oneline HEAD 以及剩餘的工作目錄。

失敗規則

  • 僅當子命令的失敗違反了當前的凍結標準、適用合約、受影響工件的完整性檢查,或重大的安全/發布邊界時,非零的退出碼才會阻止後續階段。不相關的預先存在與管理失敗會被報告,但不會成為新的關卡。
  • 被阻止的任務不會被關閉;應持續記錄其原因、負責人、嘗試次數及發布條件。
  • 已取消的工作可以保留取消狀態,但不得假裝成功發布。
  • 輸出鎖應被報告,而非強制刪除。
  • 不相關的工作保持不變。
  • 基準線失效 僅保留給新的單一事實來源衝突、虛假前提、安全或資料遺失風險。EOL/BOM、clean/smudge、時間戳、顯示順序或僅收據變更不會使完整的驗證失效或重新開啟。

最終報告

報告模式、倉庫/專案識別碼、驗收基準線狀態/擁有者/停止線、關閉審查類型/裁決、沉澱消費者/路徑、DLM 檢查、發布設定檔與版本變更、符合聲稱的已驗證工件、暫存白名單、提交雜湊值(如有)、阻塞性與建議性差距,以及刻意未觸及的不相關檔案。明確說明哪些操作(提交/推送/標籤/部署/工件複製)未被執行。在授權模式的邊界處停止;請勿自動啟動下一個子任務、工作項目、待辦發現、推送、標籤或部署。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相關技能