docs(security): 補 S4.9 canonical owner response envelope [skip ci]

This commit is contained in:
Your Name
2026-06-05 10:10:17 +08:00
parent b615bde5e2
commit 56b35244ae
4 changed files with 177 additions and 8 deletions

View File

@@ -1,3 +1,30 @@
## 2026-06-05S4.9 Canonical Owner Response Envelope 規範
**背景**:接續 S4.9 owner response gate 現況缺口稽核,本段處理「欄位同義詞混用」問題。`P1-001 runtime surface inventory` 仍由另一個 AwoooP Session 推進中,本視窗只做平行安全的 docs-only 規範,不碰 runtime surface schema / API / UI不送 request、不收 owner response、不改 Gitea / GitHub / refs / workflow / secret / runner / runtime。
**本輪完成**
- 新增 `docs/security/S4-9-CANONICAL-OWNER-RESPONSE-ENVELOPE.md`:固定六欄 canonical envelope`owner_role_or_team``decision``decision_reason``affected_scope``redacted_evidence_refs``followup_owner`
- 補齊 source template alias mapping`affected_repos``affected_sources``canonical_namespace``evidence_refs``review_owner` 等欄位可保留在 source template但收件 / 顯示 / LOGBOOK 必須映射回六欄。
- 補五題 canonical 投影、quarantine-first 規則與 reviewer checklist避免把 request template、owner 回覆候選、AwoooP approval 或 UI 可見誤讀成資安批准。
- 更新 `docs/workplans/2026-06-04-iwooos-security-governance-p0.md`:最新 `gitea/main=b615bde5`、P0-2d 完成度、規範分析與驗證紀錄。
**完成度更新**
- S4.9 canonical owner response envelope`100%`
- S4.9 owner response gate`0%``request_sent=false`、received `0`、accepted `0`、rejected `0`
- IwoooS 整體:維持 `64%`active runtime gate 維持 `0`
- 本輪不調高 GitHub primary readiness、不調高 runtime landing、不新增 action button、不宣稱 production 行為變更。
**驗證**
- `git diff --check`:通過。
- `python3 scripts/security/source-control-owner-response-guard.py --root .``SOURCE_CONTROL_OWNER_RESPONSE_GUARD_OK`
- `python3 scripts/security/security-mirror-progress-guard.py --root .``SECURITY_MIRROR_PROGRESS_GUARD_OK`
- `rg` 抽查高風險誤寫:沒有 request sent / received / accepted / runtime execution / GitHub primary switch 被誤標成已通過。
- 本段是純文件規範,不改前端、不改 API、不新增 deploy不需要新的 production desktop / mobile smoke。
**下一步**
- S4.9 真正推進仍需 owner 以脫敏 metadata 回覆 5 題,並逐步通過 canonical envelope、quarantine-first、cross-packet consistency 與 reviewer checklist。
- 推送後同步另一個 AwoooP Session提醒 P1-001 提交前先 fetch / fast-forward 到最新 `gitea/main`,避免 LOGBOOK / workplan 衝突。
## 2026-06-05S4.9 Owner Response Gate 現況缺口稽核
**背景**`P1-001 runtime surface inventory` 已由另一個 AwoooP Session 推進中;本視窗為避免同檔案衝突,改推平行安全的 P0S4.9 owner response gate 現況缺口稽核。這是 committed snapshot / 文件只讀稽核,不收 owner response、不送 request、不改 Gitea / GitHub、不碰 refs / workflow / secret / runner / runtime。

View File

@@ -0,0 +1,126 @@
# S4.9 Canonical Owner Response Envelope 規範
| 項目 | 內容 |
|------|------|
| 日期 | 2026-06-05 |
| 基準 | `gitea/main=b615bde5 docs(security): 補 S4.9 owner response 缺口稽核 [skip ci]` |
| 範圍 | S4.9 owner response 收件信封、欄位別名、隔離規則與驗收前狀態邊界 |
| 模式 | 只讀文件規範,不送 request、不收 owner response、不改 API、不改 UI、不改 runtime |
| 不可誤讀 | 本文件不是 request sent、不是 owner response received、不是 accepted、不是 Gitea / GitHub / refs / workflow / secret / runner / runtime 授權 |
## 1. 核心結論
S4.9 收件流程對外只接受一個 canonical owner response envelope。任何 source template、AwoooP handoff、reviewer note 或文件摘要,都可以保留細分欄位,但進入 S4.9 驗收前必須映射回六欄:
1. `owner_role_or_team`
2. `decision`
3. `decision_reason`
4. `affected_scope`
5. `redacted_evidence_refs`
6. `followup_owner`
沒有完成六欄映射前,不得把候選回覆視為 received沒有完成預檢、隔離檢查、跨包一致性與 reviewer checklist 前,不得視為 accepted。
## 2. Canonical Envelope
| 欄位 | 必填 | 允許格式 | 缺漏處理 | 安全邊界 |
|------|------|----------|----------|----------|
| `owner_role_or_team` | 是 | 角色、團隊、責任單位;不需要個人敏感資料 | `request_more_evidence`,不增加 received | 不收個人帳號密碼、token、session、private email |
| `decision` | 是 | `confirm``defer``reject``request_more_evidence` | 非允許值 `hard_reject` | 不得包含執行命令或批准 runtime action |
| `decision_reason` | 是 | 一段脫敏摘要;可含 ticket id、文件路徑、hash、短原因 | 缺漏補件;疑似敏感 payload 先隔離 | 不渲染 raw secret、token、cookie、authorization header、未脫敏截圖 |
| `affected_scope` | 是 | repo 群、endpoint、namespace、host scope、legacy disposition、canonical owner 範圍 | 缺漏補件 | 不得把 scope 回覆解讀成 repo 建立、refs sync 或 primary 切換 |
| `redacted_evidence_refs` | 是 | 文件路徑、snapshot id、ticket id、hash、脫敏 metadata pointer | 缺漏補件;疑似 payload 隔離 | 不收 secret value、masked token、partial token、private key、session value |
| `followup_owner` | 是 | 後續補證、審查或決策負責角色 / 團隊 | 缺漏補件 | 不等於執行批准人;不等於 runtime operator |
## 3. Source Template Alias 映射
Source template 可以保留 domain-specific 欄位,方便 owner 回覆,但 S4.9 validator、AwoooP 顯示與 LOGBOOK 摘要必須使用 canonical 欄位。
| Canonical 欄位 | 可接受 alias | 映射規則 | 不可誤讀 |
|----------------|--------------|----------|----------|
| `owner_role_or_team` | `owner_role``owner_team``review_owner``responsible_team``rollback_owner` | 合併為負責角色 / 團隊;個人資訊只保留必要角色稱謂 | 不代表該 owner 已批准切 primary 或執行 rollback |
| `decision` | `owner_decision``scope_decision``visibility_decision``canonical_decision``disposition` | 只能轉成四個允許值;其他值需補件或拒收 | `confirm` 只代表該題判定,不代表全包 accepted |
| `decision_reason` | `reason``decision_summary``owner_note``review_note``rationale` | 只保留脫敏摘要;含 payload 的段落移入 quarantine metadata不回寫 raw text | 不得把長原文、聊天內容或抱怨放進產品文案 |
| `affected_scope` | `affected_repos``affected_sources``affected_repos_or_sources_or_namespace``canonical_namespace``target_repos``host_scope``legacy_scope` | 以人類可讀 scope 摘要呈現;必要時列出 repo / source ids但不觸發任何 git action | 不代表可建立 repo、同步 refs、改 visibility、改 workflow |
| `redacted_evidence_refs` | `evidence_refs``redacted_refs``source_refs``snapshot_refs``ticket_refs``metadata_refs` | 只接受指標與脫敏 metadata任何 raw payload 先隔離 | 不收 token value、secret value、hash fragment、authorization header、runner token |
| `followup_owner` | `next_owner``followup_team``reviewer_owner``fallback_owner``resolution_owner` | 映射為後續處理負責角色 / 團隊 | 不代表 AwoooP approval 或 security approval 已完成 |
## 4. 五題 Template 的 Canonical 投影
| 順序 | Template | `affected_scope` 投影 | `decision` 判讀 | `redacted_evidence_refs` 最低要求 |
|------|----------|------------------------|-----------------|-----------------------------------|
| 1 | `response-public-only-vs-local-gitea-gap` | public-only / local Gitea scope、候選 repo、是否納入 inventory | `confirm``defer``reject``request_more_evidence` | public probe snapshot、local inventory ref、owner note id |
| 2 | `response-org-user-endpoint-identity` | `wooo` user / org endpoint、canonical endpoint、blocked endpoint 判讀 | 同上 | endpoint probe summary、HTTP status metadata、owner note id |
| 3 | `response-internal-110-adjacent-scope` | 110 adjacent repo / host / namespace 是否 in scope | 同上 | local repo / host scope snapshot、redacted owner note |
| 4 | `response-repo-owner-canonical-scope` | repo owner、canonical source、GitHub target candidate、visibility review owner | 同上 | refs truth summary、target probe summary、owner note id |
| 5 | `response-legacy-or-inaccessible-disposition` | legacy / inaccessible / external repo disposition 與後續 owner | 同上 | disposition note、archive candidate summary、ticket id |
## 5. 收件狀態分離
S4.9 必須把以下狀態分開,不得連動調高:
| 狀態 | 可為 true / 大於 0 的前提 | 不得連動 |
|------|---------------------------|----------|
| `request_sent` / `request_sent_count` | 有人工送件 audit metadata且送件內容未夾帶執行要求 | 不得同步調高 received / accepted |
| `received_response_count` | 收到完整六欄 canonical envelope且敏感 payload 已先隔離 | 不得同步視為 accepted |
| `accepted_response_count` | 五題都通過 preflight、quarantine check、cross-packet consistency、reviewer checklist | 不得開 runtime gate |
| `rejected_response_count` | 實際回覆被 hard reject且 rejection reason 已記錄 | 不得自動要求 repo / host / runtime action |
| `quarantine_response_count` | 疑似包含敏感 payload、執行要求或未脫敏 evidence | 不得渲染 raw payload不得複製到 LOGBOOK |
## 6. Quarantine-first 規則
以下內容一律先隔離不得進入一般文件、LOGBOOK、前端文案或 API response
| 類別 | 範例 | 處理 |
|------|------|------|
| Secret / credential | token、secret、private key、cookie、session、authorization header、runner token、webhook secret、database URL | 隔離並記錄類型與長度,不記值 |
| 未脫敏 evidence | 未遮蔽截圖、raw API response、含 private URL credential 的 log | 隔離,只保留 redacted evidence ref |
| 執行要求 | 建 repo、改 visibility、sync refs、delete refs、force push、改 workflow、啟 runner、Kali scan、`/execute`、host update | `hard_reject` 或切出獨立人工批准流程 |
| 產品文案污染 | 內部對話、抱怨、Session 指令、聊天式同意 | 不進產品文案;只保留治理摘要 |
## 7. Reviewer Checklist
收件 reviewer 在標記 accepted 前必須逐項確認:
| 檢查 | 必須結果 |
|------|----------|
| 六欄 canonical envelope | 全部存在且可讀 |
| 五題 response templates | 全部有對應回覆或明確補件狀態 |
| Alias mapping | 所有 source 欄位已映射回 canonical 欄位 |
| Sensitive payload check | raw payload 已隔離LOGBOOK / UI 只保留 redacted refs |
| Execution request check | 沒有 repo / refs / workflow / secret / runner / scan / host / runtime 執行要求 |
| Cross-packet consistency | S4.9 / S4.10 / S4.11 / S4.12 口徑一致,沒有互相矛盾的 owner / scope / disposition |
| Count transition | request sent、received、accepted、rejected 只依實際 audit metadata 分段更新 |
| Gate boundary | active runtime gate、GitHub primary、Kali / host maintenance、Code Review candidate automation 仍需獨立人工批准 |
## 8. 驗收前仍必須維持
```text
request_sent=false
request_sent_count=0
received_response_count=0
accepted_response_count=0
rejected_response_count=0
owner_response_received_count=0
owner_response_accepted_count=0
redacted_payload_ingested=false
active_runtime_gate_count=0
runtime_execution_authorized=false
action_buttons_allowed=false
repo_creation_authorized=false
refs_sync_authorized=false
workflow_modification_authorized=false
github_primary_switch_authorized=false
host_update_authorized=false
active_scan_authorized=false
secret_value_collection_authorized=false
```
## 9. 本輪完成度
| 工作 | 完成度 | 說明 |
|------|--------|------|
| Canonical owner response envelope | 100% | 六欄信封、alias 映射、五題投影、quarantine-first、reviewer checklist 已文件化 |
| S4.9 owner response gate | 0% | 尚未送 request、尚未收到 owner response、尚未 accepted |
| IwoooS 整體 | 維持 64% | 規範完成不代表 runtime readiness 提升 |
| active runtime gate | 0 | 不變 |

View File

@@ -3,7 +3,7 @@
| 項目 | 內容 |
|------|------|
| 日期 | 2026-06-05 |
| 基準 | `gitea/main=f1bad81d docs(logbook): 記錄 P1-305 P1-306 正式驗證 [skip ci]` |
| 基準 | `gitea/main=b615bde5 docs(security): 補 S4.9 owner response 缺口稽核 [skip ci]` |
| 範圍 | S4.9 Gitea owner attestation response gate 與 S4.13 owner response validation rollup |
| 模式 | 只讀 committed snapshot / 文件稽核 |
| 不可誤讀 | 不是 request sent、不是 owner response received、不是 accepted、不是 repo / refs / workflow / secret / runtime 授權 |
@@ -32,7 +32,7 @@ S4.9 的基礎規範已存在,且已能被 `source-control-owner-response-guar
|------|------|--------|
| P0 主控總帳的同步基線仍停在較舊 commit | 新 Session 可能誤用舊 `gitea/main` 或舊 P1 狀態 | 將總帳更新到 `f1bad81d`,並標註 P1-001 由另一 Session 進行中 |
| S4.9 gate 仍只有 request-ready沒有 owner response | IwoooS 64% 不能因規範存在而往前解鎖 | 維持 `0%`,只準備收件缺口,不調高 progress |
| request packet 的欄位名稱存在同義詞 | `affected_repos``affected_sources``affected_repos_or_sources_or_namespace``evidence_refs` 與使用者要求的 `affected_scope``redacted_evidence_refs` 容易在 UI / handoff 中混用 | 後續顯示層以六欄 canonical envelope 呈現source templates 可保留細分欄位 |
| request packet 的欄位名稱存在同義詞 | `affected_repos``affected_sources``affected_repos_or_sources_or_namespace``evidence_refs` 與使用者要求的 `affected_scope``redacted_evidence_refs` 容易在 UI / handoff 中混用 | 已補 `S4-9-CANONICAL-OWNER-RESPONSE-ENVELOPE.md`後續顯示層以六欄 canonical envelope 呈現source templates 可保留細分欄位 |
| 沒有實際 dispatch / received audit event | 目前 audit event templates 仍是 template-only不能證明已送件或已收件 | 等人工送件後才增加 request_sent metadata未送前所有 count 維持 0 |
| 尚未有 owner response reviewer outcome | reviewer checklist 存在,但沒有任何可分類 response | 等脫敏 metadata 進來後,才能進補件、隔離、拒收、只讀更新候選 |
| 部分文件仍可能把 P1-305 / P1-306 或 P1-001 當下一步文字混用 | 平行 Session 正在推 P1-001S4.9 仍是獨立 P0 gate | 後續 LOGBOOK / workplan 每次都標註平行 Session 與最新基線 |
@@ -41,8 +41,8 @@ S4.9 的基礎規範已存在,且已能被 `source-control-owner-response-guar
| 規範 | 內容 | 狀態 |
|------|------|------|
| Canonical owner response envelope | 對外與 AwoooP 顯示固定六欄:`owner_role_or_team``decision``decision_reason``affected_scope``redacted_evidence_refs``followup_owner` | 需在下一個 UI / handoff 切片統一 |
| Source template alias 規則 | 允許 source template 保留 `affected_repos``affected_sources``canonical_namespace` 等細分欄位,但必須映射回 `affected_scope` | 需新增顯示層 mapping |
| Canonical owner response envelope | 對外與 AwoooP 顯示固定六欄:`owner_role_or_team``decision``decision_reason``affected_scope``redacted_evidence_refs``followup_owner` | 已補文件規範;後續 UI / handoff 切片需沿用 |
| Source template alias 規則 | 允許 source template 保留 `affected_repos``affected_sources``canonical_namespace` 等細分欄位,但必須映射回 `affected_scope` | 已補文件規範;後續顯示層 mapping 需照表實作 |
| Request sent 與 received 分離 | request packet 顯示、人工送件、owner response received、accepted 必須是四個獨立狀態 | 已有規範,需在後續 audit metadata 實作時保持 |
| Quarantine-first 收件 | 疑似 token、secret、private key、cookie、session、authorization header、private URL credential、未脫敏截圖先隔離不渲染 raw payload | 已有規範,需維持 |
| 平行 Session 衝突規則 | 任一 Session 推送前必須 fetch / fast-forward 到最新 `gitea/main`,並同步 commit / run / production evidence / gate 0 false | 已執行,需持續 |
@@ -85,7 +85,7 @@ S4.9 的基礎規範已存在,且已能被 `source-control-owner-response-guar
| 工作 | 完成度 | 說明 |
|------|--------|------|
| S4.9 現況缺口稽核 | 100% | 已列出已符合、仍不符合、需新增、需調整、五題回覆與 0 / false 邊界 |
| S4.9 canonical owner response envelope | 100% | 已補六欄信封、alias 映射、五題投影、quarantine-first 與 reviewer checklist |
| S4.9 owner response gate | 0% | 沒有收到 owner response不得調高 |
| IwoooS 整體 | 維持 64% | 只讀稽核不改 runtime readiness |
| active runtime gate | 0 | 不變 |

View File

@@ -7,9 +7,9 @@
| 項目 | 目前值 |
|------|--------|
| 工作視窗 | IwoooS / AWOOOI 資安治理 P0 |
| 本次乾淨 worktree | `/Users/ogt/awoooi` |
| 本次分支 | `codex/iwooos-i18n-d2-visible-literals-20260605` |
| 最新觀察到的 `gitea/main` | `f1bad81d docs(logbook): 記錄 P1-305 P1-306 正式驗證 [skip ci]` |
| 本次乾淨 worktree | `/private/tmp/awoooi-p1-106-offsite-escrow-readiness-20260605` |
| 本次分支 | `codex/p1-305-velero-minio-freshness` |
| 最新觀察到的 `gitea/main` | `b615bde5 docs(security): 補 S4.9 owner response 缺口稽核 [skip ci]` |
| 最新 P2-D0 繁中文案基準 | code `cd2275a2`、deploy marker `1920bd08`、code-review `2565`、CD `2564` |
| 最新 P2-D1 本地掃描基準 | `VISIBLE_LITERAL_TARGET_SCAN_OK files=221`;全站 TS / TSX 中文 literal 盤點 `35` 檔 / `752` 行;註解語氣 backlog `32` 筆 |
| 最新 P2-D1 正式部署基準 | code `f9bf8a28`、deploy marker `879b0a36`、CD `2578`、code-review `2579` |
@@ -18,6 +18,7 @@
| 最新 P2-D2 Code Review 候選分類基準 | code `292cfec9`、deploy marker `4cfe5ff7`、CD `2586`、code-review `2587`Code Review route 可見文案已搬到 `codeReview` i18n namespace四類候選分類與人工批准流程已正式驗證 |
| 最新 P2-D2 AwoooP Runs fallback 文案基準 | code `7f6028c3`、deploy marker `bf016e91`、CD `2590`、code-review `2591`Runs / Callback / Source Flow fallback 文案已正式驗證 |
| 最新 AI Agent automation P1-305 / P1-306 基準 | code `4f0787f8`、deploy marker `af3a9d48`、CD `2592`、code-review `2593`任務批准邊界與進度彙總已正式驗證backlog `70%`、done `16/23`、下一步 `P1-001` |
| 最新 S4.9 canonical owner response envelope 基準 | `docs/security/S4-9-CANONICAL-OWNER-RESPONSE-ENVELOPE.md`;六欄信封、欄位 alias、五題投影、quarantine-first 與 reviewer checklist 已固定owner response gate 仍 `0%` |
| 目前平行 Session | AwoooP thread `019e9154-7d5e-7b72-85be-c9d97e43ecc9` 正在推 `P1-001 runtime surface inventory`;本視窗避免修改同一批 runtime surface schema / API / UI 檔 |
| 前一個正式 IwoooS 候選基準 | code `7b8fc093`、deploy marker `45c63488`、LOGBOOK `02cadee6` |
| 最新導航 IA 基準 | code `973fc7a4`、LOGBOOK `2555c811`、deploy marker `0260ec89` |
@@ -50,6 +51,7 @@
| P0-2a | S4.9 current intake readiness | 100% | 五題缺口、合格封套、結果分流與只讀更新邊界已補進收件包與 S4.13 rollupowner response gate 仍 0% | JSON parse、owner response guard、progress guard |
| P0-2b | S4.9 request dispatch preflight 交接包 | 100% | 送件前檢查、交接封套欄位與送後不變條件已固定dispatch authorized 仍 false | JSON parse、owner response guard、progress guard |
| P0-2c | S4.9 current gap audit | 100% | 已新增 `S4-9-OWNER-RESPONSE-GATE-CURRENT-GAP-AUDIT.md`,列出已符合、仍不符合、需新增、需調整、五題回覆與 0 / false 邊界owner response gate 仍 0% | owner response guard、progress guard、diff check |
| P0-2d | S4.9 canonical owner response envelope | 100% | 已新增 `S4-9-CANONICAL-OWNER-RESPONSE-ENVELOPE.md`固定六欄信封、source template alias mapping、五題投影、quarantine-first 與 reviewer checklistowner response gate 仍 0% | owner response guard、progress guard、diff check |
| P0-3 | AwoooP 同步封包 | 100% | 已送至 AwoooP 平行工作 thread `019e9154-7d5e-7b72-85be-c9d97e43ecc9`;後續仍需每次推版前重新 fetch / fast-forward | 本文件、thread send readback、mirror checklist readback |
| P0-4 | production live sanity 節點 | 100% | desktop / mobile / 展開區塊 / overflow / action href 檢查已完成 | Playwright production sanity 通過 |
| P0-5 | LOGBOOK 與完成度更新 | 100% | D2 comments-only、D2 AIOps sample、D2 Code Review 候選分類與 D2 AwoooP Runs fallback 皆已回填;可見 / bundle 變更皆已補 local / production desktop + mobile smoke | `docs/LOGBOOK.md` readback |
@@ -103,6 +105,18 @@ S4.9 是目前 IwoooS 64% 能往前的第一優先 gate。驗收前所有 count
| 送後不變條件 | 100% | 實際送件後也只能依可稽核 metadata 調整 request_sent_count不得同步拉高 received / accepted / rejected | 不代表 owner response gate 解鎖 |
| runtime / source-control 邊界 | 100% | GitHub primary、repo / refs / workflow / secret、Kali、SSH、主機維護、runtime gate 全部另走人工批准 | 不代表任何執行面授權 |
### 3.5 2026-06-05 Canonical Owner Response Envelope
本輪把 S4.9 從「收件規則與送件前交接包已固定」再推到「source template 欄位可映射成單一 canonical envelope」。這是收件格式規範不是送件、不代表收到 owner response也不代表 accepted`request_sent=false``request_sent_count=0`、received / accepted / rejected 全部仍為 `0`
| 項目 | 完成度 | 目前狀態 | 不可誤讀 |
|------|--------|----------|----------|
| 六欄 canonical envelope | 100% | `owner_role_or_team``decision``decision_reason``affected_scope``redacted_evidence_refs``followup_owner` 已固定 | 不代表 owner 已回覆 |
| Source template alias mapping | 100% | `affected_repos``affected_sources``canonical_namespace``evidence_refs``review_owner` 等 alias 已有映射規則 | 不代表可建立 repo、同步 refs、改 workflow、收 secret |
| 五題 canonical 投影 | 100% | S4.9 五題都已定義 `affected_scope` / `decision` / `redacted_evidence_refs` 的最低投影 | 不代表五題已收到合格回覆 |
| Quarantine-first | 100% | secret、token、private key、cookie、session、authorization header、未脫敏截圖與執行要求先隔離或拒收 | 不得渲染 raw payload不得寫入 LOGBOOK |
| Reviewer checklist | 100% | 六欄、五題、alias mapping、敏感 payload、執行要求、跨包一致性、count transition、gate boundary 已列入驗收前檢查 | 不得把 AwoooP approval 或 UI 可見當資安批准 |
## 4. 驗證節點規則
| 階段類型 | 必跑驗證 | 是否需要實際開頁 |
@@ -188,6 +202,7 @@ P1 只讀重盤階段整體完成度:`70%`。它代表 freshness / inventory /
| 需要調整規範 | Workflow / secret 名稱完成度 | local evidence 已有,但 webhook / runner / deploy key / branch protection / parity 仍缺 | 已改為 `missing_evidence`,不得說已完成 parity |
| 需要調整規範 | Rollback ADR owner readiness | 舊 ADR 有 fallback / trigger / window 摘要,但缺可交接的 owner response 封套與逐 repo template | 已補 P1-5 handoff packagereceived / accepted / approved 仍全部 0 |
| 需要調整規範 | AwoooP 同步封包 | P1 要同步 refreshed counts、blocked gates、no-run 狀態,避免另一 Session 以舊 `117` heads / `141` items 繼續推進 | 本總帳與 LOGBOOK 會作為同步封包來源 |
| 需要調整規範 | S4.9 欄位同義詞混用 | `affected_repos``affected_sources``canonical_namespace``evidence_refs``review_owner` 等欄位容易和使用者要求的六欄封套混用 | 已新增 canonical owner response envelope 規範source template 可保留細分欄位,但收件 / 顯示 / LOGBOOK 必須映射回六欄 |
| 需要新增規範 | 111 / 168 開發主機 scope handoff | 原本只有 observe-only mapping缺 owner 可審的 scope boundary、credential refusal、rollback owner、validation metrics 與維護窗口欄位 | 已新增 P1-8 handoff、snapshot 與 schemahost execution 仍 `0%` |
| 需要調整規範 | 111 Ollama fallback wording | 111 是 ADR-110 local fallback evidence 範圍,不可被誤讀成可直接改 route、重啟 Ollama 或停止模型 | 已在 P1-8 固定 `fallback_route_change_authorized=false` 與 route truth observe-only |
| 需要調整規範 | 168 dev origin / repo hygiene wording | repo hygiene 與 local service exposure 容易被誤讀成可掃個人資料、讀未授權目錄或改 CORS / firewall | 已在 P1-8 固定未授權目錄、個人資料、secret derivative、CORS / firewall / service change 全部拒收 / 禁止 |
@@ -286,6 +301,7 @@ P1 只讀重盤階段整體完成度:`70%`。它代表 freshness / inventory /
| P2-D2 AIOps 範例資料模式 | code `d5ce17c7`、deploy marker `305b8175``mockBadge``sampleBadge``MOCK 模式``範例資料``mock-data.ts``sample-incidents.ts`;殘留掃描 `統帥 / MOCK 模式 / MOCK_INCIDENTS / mock-data / Mock Data / Mock React / MOCK_PENDING / MOCK 常數 / mockBadge` 命中 `0`i18n mirror `8912` leavestypecheck、build、owner response guard、security mirror progress guard、diff check 通過local sample desktop/mobile 與 production desktop/mobile 均 `horizontalOverflow=0`production HTML `sampleBadge / 範例資料` 可見、`mockBadge / MOCK 模式` 命中 `0` |
| P2-D2 Code Review 候選分類 | code `292cfec9`、deploy marker `4cfe5ff7``/zh-TW/code-review` 可見文案搬進 `codeReview` namespacei18n mirror `9004` leavesTSX 中文 literal 命中 `0`;四類候選分類、人工批准流程、禁止 runtime 轉派與 `action_buttons_allowed=false` 可見typecheck、build、owner response guard、security mirror progress guard、diff check 通過Gitea code-review `2587` 成功、CD `2586` tests / build-and-deploy / post-deploy-checks 全部成功local / production desktop + mobile 均 `horizontalOverflow=0` |
| P2-D2 AwoooP Runs fallback 文案 | code `7f6028c3`、deploy marker `bf016e91``/zh-TW/awooop/runs`、Callback Evidence、Source Flow 與 status-chain fallback 可見文案已清理i18n mirror `9020` leaves目標殘留詞掃描命中 `0`typecheck、build、owner response guard、security mirror progress guard、diff check 通過Gitea code-review `2591` 成功、CD `2590` 成功local / production desktop + mobile 均 `horizontalOverflow=0`;截圖 `/tmp/awoooi-runs-callback-i18n-prod-desktop-bf016e91.png``/tmp/awoooi-runs-callback-i18n-prod-mobile-bf016e91.png` |
| S4.9 canonical owner response envelope | 新增 `docs/security/S4-9-CANONICAL-OWNER-RESPONSE-ENVELOPE.md`六欄信封、alias mapping、五題投影、quarantine-first、reviewer checklist 與驗收前 `0 / false` 邊界已固定;本段純文件,不改前端、不改 API、不新增 deployowner response gate 仍 `0%` |
本輪驗證後仍維持: