Merge remote-tracking branch 'refs/remotes/gitea-ssh/main' into codex/110-runner-pressure-merge-main-20260627

# Conflicts:
#	docs/LOGBOOK.md
This commit is contained in:
Your Name
2026-06-27 21:39:35 +08:00
11 changed files with 158 additions and 41 deletions

View File

@@ -78,6 +78,53 @@
- 下一個 P0把 StockPlatform smoke 改成排程限流或搬到非 110 runner再做全主機 cold-start scorecard 與資料 freshness readback。
## 2026-06-27IwoooS Wazuh owner export reviewer validation passed 本地完成
## 2026-06-27 — 21:24 GitHub backup owner response intake readiness 正式讀回完成
**時間與來源**
- 2026-06-27 20:49-21:24 Asia/Taipei。
- 來源feature branch `codex/github-backup-missing-targets-20260627`、Gitea main、Gitea Actions、production API readback。
**完成內容**
- `GET /api/v1/agents/github-target-private-backup-evidence-gate` 已正式讀回 `owner_response_intake_readiness`
- GitHub target owner response request packet、9 個 response templates、allowed fields、forbidden payloads、collection checks、intake preflight checks 與 acceptance checks 已能由 production API 讀出。
- 每個 target 已能讀回 owner response template mapping 與 `owner_response_execution_authorized=false`
- Validator 已防止 owner response request packet、templates 或 checks 夾帶 execution authorization。
**Gitea / deploy 狀態**
- code commit`80138e985 feat(api): expose github owner response intake readiness`
- merge / main push commit`9f5097f66 Merge remote-tracking branch 'gitea/main' into codex/github-backup-missing-targets-20260627`
- deploy marker`e49c6190e chore(cd): deploy 9f5097f [skip ci]`
- code-review`#3690` 成功。
- CD`#3689` 成功tests、build-and-deploy、post-deploy-checks 均完成。
- 最新 main 後續 docs marker`7b2b3db45 docs(awooop): record controlled automation readback [skip ci]`,不改本段 production code 基準。
**production API readback**
- `/api/v1/health?_v=9f5097f66-github-owner-intake`HTTP `200``status=healthy``environment=prod``mock_mode=false`
- `GET /api/v1/agents/github-target-private-backup-evidence-gate?_v=9f5097f66-github-owner-intake`HTTP `200`
- `approval_required_target_count=9``private_backup_verified_count=4``private_visibility_verified_count=4`
- `github_missing_target_resolution_count=5``github_missing_target_create_private_repo_ready_count=0``github_missing_target_refs_sync_ready_count=0`
- `owner_response_request_ready=true``owner_response_required_response_item_count=9``owner_response_requested_template_count=9``owner_response_template_count=9`
- `owner_response_allowed_response_field_count=25``owner_response_forbidden_payload_count=15``owner_response_collection_check_count=6``owner_response_intake_preflight_check_count=6`
- `owner_response_request_execution_authorized=false``owner_response_received_count=0``owner_response_accepted_count=0``safe_credential_accepted_evidence_count=0``execution_ready_count=0``blocked_target_count=9`
- `owner_response_intake_readiness.status=ready_to_collect_read_only_owner_response_not_authorization``request_ready=true``execution_authorized=false``not_approval=true`
- forbidden / redaction proof`private_clone_url_credential` 仍在 forbidden payloads`read_only_markdown_response` 是允許 submission mode`create_github_repo` 仍在 still forbidden正式 API 回應未命中 `192.168.0.`
**Delivery Workbench readback**
- `GET /api/v1/agents/delivery-closure-workbench?_v=9f5097f66-github-owner-intake`HTTP `200`
- schema`delivery_closure_workbench_v1`
- GitHub lane`status=blocked_private_visibility_and_safe_credential_evidence_required`、metric `private_backup_verified=4/9``completion_percent=44``blocker_count=9`
**仍維持 0 / false**
- `github_missing_target_create_private_repo_ready_count=0``github_missing_target_refs_sync_ready_count=0``owner_response_received_count=0``owner_response_accepted_count=0``safe_credential_accepted_evidence_count=0``execution_ready_count=0`
- `github_api_write_allowed=false``repo_creation_allowed=false``visibility_change_allowed=false``refs_sync_allowed=false``workflow_trigger_allowed=false``private_clone_url_collection_allowed=false``secret_value_collection_allowed=false`
**未做**
- 沒有 GitHub repo creation、visibility change、refs sync、workflow trigger、private clone URL collection、secret value collection沒有 host / Docker / systemd / Nginx / firewall / K8s / DB / Wazuh runtime 寫操作;沒有 force push。
**完成度 / 下一步**
- 本段「GitHub owner response intake readiness API / production readback」`85% -> 100%`
- GitHub backup mirror governance 仍為 blocked下一個 P0 是 owner-provided safe credential evidence / redacted evidence refs intake但不得收 private clone URL credential 或 secret value。
## 2026-06-27AwoooP Approvals controlled automation 文案正式讀回完成
**背景**P2-416 D1N 已把 AI Agent 舊 manual gate 規範改為 controlled automationlow / medium / high 風險應走 allowlist、check-mode、controlled apply、verifier、rollback 與 KM / PlayBook writebackcritical 才 break-glass。正式 `/zh-TW/awooop/approvals` 仍因 Next HTML payload 序列化其他 namespace殘留 `待人工決策``阻塞與人工閘門``人工接手``owner review``owner packet` 等舊語意,容易讓 Approvals / Runs / Work Items / Alerts 看起來把人工當預設終局。

View File

@@ -2,7 +2,7 @@
"evidence_slots": [
{
"accepted": true,
"next_gate": "post_enable_iwooos_readback",
"next_gate": "manager_registry_acceptance_evidence_review",
"quarantined": false,
"received": true,
"required_fields": [
@@ -17,7 +17,7 @@
},
{
"accepted": true,
"next_gate": "post_enable_iwooos_readback",
"next_gate": "manager_registry_acceptance_evidence_review",
"quarantined": false,
"received": true,
"required_fields": [
@@ -30,7 +30,7 @@
},
{
"accepted": true,
"next_gate": "post_enable_iwooos_readback",
"next_gate": "manager_registry_acceptance_evidence_review",
"quarantined": false,
"received": true,
"required_fields": [
@@ -45,7 +45,7 @@
},
{
"accepted": true,
"next_gate": "post_enable_iwooos_readback",
"next_gate": "manager_registry_acceptance_evidence_review",
"quarantined": false,
"received": true,
"required_fields": [
@@ -58,7 +58,7 @@
},
{
"accepted": true,
"next_gate": "post_enable_iwooos_readback",
"next_gate": "manager_registry_acceptance_evidence_review",
"quarantined": false,
"received": true,
"required_fields": [
@@ -74,7 +74,7 @@
},
{
"accepted": true,
"next_gate": "post_enable_iwooos_readback",
"next_gate": "manager_registry_acceptance_evidence_review",
"quarantined": false,
"received": true,
"required_fields": [
@@ -150,10 +150,11 @@
"firewall_change",
"nginx_reload"
],
"generated_at": "2026-06-27T20:42:31+08:00",
"mode": "committed_validation_passed_readback_no_runtime_no_secret_collection",
"generated_at": "2026-06-27T21:45:00+08:00",
"mode": "committed_post_enable_iwooos_readback_passed_no_runtime_no_secret_collection",
"no_false_green_rules": [
"reviewer validation passed 只代表脫敏 owner export refs 通過 no-persist 驗證。",
"post-enable IwoooS readback passed 只代表 production API / 前台已讀回 reviewer passed不代表 live Wazuh 查詢或 runtime action。",
"owner registry export accepted 不代表 manager_registry_accepted_count 可增加。",
"Dashboard 可見、index pattern 三綠勾、HTTP 200 或 transport observed 不可替代 manager registry counts。",
"reviewer accepted 只可更新只讀 postureactive response、agent restart、reenroll、host write、secret rotation 或掃描仍需獨立 runtime gate。"
@@ -171,7 +172,8 @@
"reject_runtime_action_request",
"ready_for_reviewer_validation",
"accepted_for_readonly_posture_only",
"waiting_post_enable_iwooos_readback"
"post_enable_iwooos_readback_passed",
"manager_registry_acceptance_evidence_review"
],
"per_host_required_fields": [
"node_alias",
@@ -271,9 +273,9 @@
},
{
"check_id": "RV-10",
"failure_lane": "waiting_post_enable_iwooos_readback",
"required_evidence": "即使 reviewer 未來接受 evidence也只能進 read-only posture必須另有 post-enable readback 才能更新 runtime truth。",
"title": "Post-enable IwoooS readback 仍是下一關"
"failure_lane": "post_enable_iwooos_readback_passed_no_runtime",
"required_evidence": "production API 與前台 smoke 已讀回 reviewer passed此讀回只更新 read-only posture不查 live Wazuh、不保存 raw payload、不開 runtime gate。",
"title": "Post-enable IwoooS readback 已讀回但不開 runtime"
}
],
"schema_version": "wazuh_manager_registry_reviewer_validation_v1",
@@ -282,7 +284,7 @@
"docs/security/wazuh-agent-visibility-owner-evidence-preflight.snapshot.json",
"docs/security/wazuh-managed-host-coverage-gate.snapshot.json"
],
"status": "accepted_for_readonly_posture_only",
"status": "post_enable_iwooos_readback_passed_no_runtime_no_secret_collection",
"summary": {
"active_response_authorized_count": 0,
"evidence_slot_count": 6,
@@ -291,11 +293,11 @@
"forbidden_payload_count": 27,
"host_write_authorized_count": 0,
"manager_registry_accepted_count": 0,
"outcome_lane_count": 13,
"outcome_lane_count": 14,
"owner_registry_export_accepted_count": 1,
"owner_registry_export_received_count": 1,
"per_host_required_field_count": 9,
"post_enable_readback_passed_count": 0,
"post_enable_readback_passed_count": 1,
"required_owner_field_count": 28,
"reviewer_validation_check_count": 10,
"reviewer_validation_failed_count": 0,