docs(github): record owner response preflight readback [skip ci]

This commit is contained in:
Your Name
2026-06-27 21:57:07 +08:00
parent 0624be08df
commit fdc703811d

View File

@@ -1,3 +1,43 @@
## 2026-06-27 — 21:56 GitHub owner response preflight API 正式讀回完成
**背景**:上一段已把 GitHub target owner response request packet / templates / forbidden payloads 暴露成 read-only readiness本段不是文件補充而是新增正式 POST preflight API讓 owner-provided redacted evidence refs 可以先被驗證,同時拒收 credential URL、repo creation command、secret-like value 與未允許欄位。
**完成內容**
- 新增 `POST /api/v1/agents/github-target-owner-response-intake-preflight`
- API 只做 candidate owner response validation`mode=validate_owner_response_only_no_persist_no_github_write`
- `apps/api/src/services/github_target_private_backup_evidence_gate.py` 新增 `preflight_github_target_owner_response_submission(...)`,依 committed templates / allowed fields / acceptable decisions / evidence refs / forbidden payloads 驗證。
- 合法 `read_only_markdown_response` 可回 `ready_for_read_only_owner_response_intake`;含 private clone credential、GitHub token-like string、repo creation command、unsupported field 或 secret-like value 會回 `blocked_owner_response_intake_preflight`
- 回應固定經過 public LAN topology redaction正式回應未命中 `192.168.0.`
**本地驗證結果**
- `python3 -m py_compile apps/api/src/services/github_target_private_backup_evidence_gate.py apps/api/src/api/v1/agents.py`:通過。
- `DATABASE_URL=sqlite:///test.db PYTHONPATH=apps/api python3.11 -m pytest apps/api/tests/test_github_target_private_backup_evidence_gate.py apps/api/tests/test_github_target_private_backup_evidence_gate_api.py apps/api/tests/test_delivery_closure_workbench_api.py -q``10 passed`
- `python3.11 -m ruff check apps/api/src/services/github_target_private_backup_evidence_gate.py apps/api/src/api/v1/agents.py apps/api/tests/test_github_target_private_backup_evidence_gate.py apps/api/tests/test_github_target_private_backup_evidence_gate_api.py`:通過。
- `git diff --check`:通過。
**Gitea / deploy 狀態**
- code commit`a68d9e40a feat(github): preflight owner response intake`
- deploy marker`5b7bd55a9 chore(cd): deploy a68d9e4 [skip ci]`
- `code-review.yaml #3697` 成功;原 `cd.yaml #3696` 後續被更新的 main push supersede / cancel但已產出 deploy marker。
- 最新 `gitea-ssh/main=0624be08d` 已包含 `a68d9e40a`;目前尚未看到比 `5b7bd55a9` 更新且指向 `0624be08d` 的 deploy marker。
**production API readback**
- `/api/v1/health?_v=a68d9e40-owner-preflight-final`HTTP `200``status=healthy``environment=prod``mock_mode=false`
- valid POSTHTTP `200`、schema `github_target_owner_response_intake_preflight_v1`、status `ready_for_read_only_owner_response_intake``candidate_response_item_count=1``preflight_passed_response_item_count=1``preflight_blocked_response_item_count=0``accepted_for_read_only_intake=true`
- dangerous POSTHTTP `200`、status `blocked_owner_response_intake_preflight``preflight_passed_response_item_count=0``preflight_blocked_response_item_count=1``forbidden_payload_hit_count=4`、blockers 包含 `forbidden_payload_detected``unsupported_response_fields`
**仍維持 0 / false**
- valid / dangerous POST 皆維持 `owner_response_received_count=0``owner_response_accepted_count=0``safe_credential_accepted_evidence_count=0`
- `github_api_write_allowed=false``repo_creation_authorized=false``refs_sync_authorized=false``persist_submission_allowed=false``private_clone_url_collection_allowed=false`
**未做**
- 沒有 GitHub repo creation、visibility change、refs sync、workflow trigger、private clone URL collection、secret value collection 或 persistence。
- 沒有 host / Docker / systemd / Nginx / firewall / K8s / DB / Wazuh runtime 寫操作;沒有 force push。
**完成度 / 下一步**
- 本段「owner response intake preflight API / production readback」`0% -> 100%`
- GitHub backup mirror governance 仍為 blocked下一個 P0 是設計 no-secret persistence contract 或 workbench UI intake但只能保存 redacted evidence refs 與 validation receipt不能保存 private clone credential、secret value 或執行 GitHub write。
## 2026-06-27MOMO daily-sales source absence readback 與 cold-start blocker
**背景**110 runner / StockPlatform smoke 壓力已止血後,重新跑全主機 cold-start scorecard 與資料 freshness。AWOOOI / IwoooS / Stock / 188 主要 public routes 可用,但整體 cold-start 仍不能宣告 full green目前主要業務資料 blocker 是 188 MOMO daily sales freshness。