fix(agent): align ssh offer timeout blocker
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 1s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 34s
CD Pipeline / build-and-deploy (push) Failing after 30s
CD Pipeline / post-deploy-checks (push) Has been skipped
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 1s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 34s
CD Pipeline / build-and-deploy (push) Failing after 30s
CD Pipeline / post-deploy-checks (push) Has been skipped
This commit is contained in:
@@ -1,3 +1,18 @@
|
||||
## 2026-07-01 — 13:05 AI Loop current blocker 對齊 publickey offer timeout / high load
|
||||
|
||||
**照主線修正的問題**:
|
||||
- 最新 110 read-only SSH 診斷顯示 `SSH_AUTH user=wooo mode=publickey classification=publickey_offer_timeout`,且 `NODE_LOAD_CLASSIFIER=high_load`;AI Loop runtime sample 仍把當前主 classifier 留在 `remote_ssh_server_accepts_key_then_session_timeout` / `load_not_high`。
|
||||
- 本次把 AI Loop current blocker 的可執行子分類對齊為 `external_control_path_blocker=remote_ssh_publickey_offer_timeout`,並把 `control_path_pressure_blocker=node_load_high`、`node_load_classifier=high_load` 帶到 controlled writeback executor、autonomous runtime control、priority work order readback。
|
||||
- `remote_ssh_server_accepts_key_then_session_timeout` 仍保留在 queue normalizer contract,作為舊 Harbor repair log / CD marker 的相容解析能力;但不再當作目前 P0 blocker 的主分類。
|
||||
- current blocker container 仍維持 `harbor_110_remote_ssh_publickey_auth_stalled`,避免主線從 Harbor/110 deploy blocker 偏移;更細的 AI Agent next action 由 offer-timeout 與 high-load 兩個欄位決定。
|
||||
|
||||
**驗證**:
|
||||
- `DATABASE_URL=... python3.11 -m pytest apps/api/tests/test_ai_agent_log_intelligence_integration_readback_api.py apps/api/tests/test_ai_agent_log_feedback_receipt_dry_run_api.py apps/api/tests/test_ai_agent_log_controlled_writeback_plan_readback_api.py apps/api/tests/test_ai_agent_log_controlled_writeback_executor_readback_api.py apps/api/tests/test_ai_agent_autonomous_runtime_control.py apps/api/tests/test_awoooi_priority_work_order_readback_api.py -q`:`30 passed`。
|
||||
- `python3.11 -m pytest ops/runner/test_read_public_gitea_actions_queue.py ops/runner/test_cd_controlled_runtime_profile.py -q`:`68 passed`。
|
||||
- `python3.11 -m json.tool --indent 2 docs/operations/ai-agent-log-intelligence-runtime-sample-readback.snapshot.json >/dev/null`、`python3.11 ops/runner/guard-gitea-runner-pressure.py --root .`、`git diff --check`:通過。
|
||||
|
||||
**邊界**:只改 AI Loop runtime sample、readback tests 與 LOGBOOK;未讀 secret / token / `.env` / raw sessions / SQLite / auth;未讀 authorized_keys 內容或 `.runner` 內容;未使用 GitHub / `gh` / GitHub API;未 workflow_dispatch;未重啟主機、未 restart Docker / Nginx / K3s / DB / firewall;未執行 110 runtime apply。
|
||||
|
||||
## 2026-07-01 — 12:50 Priority work order AI Loop blocker 優先權修正
|
||||
|
||||
**照主線修正的問題**:
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
"harbor_110_repair_jobs_payload_stale_or_cross_workflow",
|
||||
"bounded_ssh_timeout_seen",
|
||||
"controlled_profile_no_matching_runner_cleared",
|
||||
"node_load_not_high",
|
||||
"node_load_high",
|
||||
"controlled_lane_verifier_packaged",
|
||||
"local_recovery_package_packaged"
|
||||
],
|
||||
@@ -118,17 +118,17 @@
|
||||
"risk_tier": "high",
|
||||
"runner_label": "awoooi-non110-host",
|
||||
"current_blocker": "harbor_110_remote_ssh_publickey_auth_stalled",
|
||||
"ssh_auth_classification": "remote_ssh_server_accepts_key_then_session_timeout",
|
||||
"ssh_auth_classification": "remote_ssh_publickey_offer_timeout",
|
||||
"remote_control_channel": "unavailable",
|
||||
"bounded_ssh_timeout_seen": true,
|
||||
"remote_ssh_reachable": true,
|
||||
"remote_ssh_publickey_auth_stalled": true,
|
||||
"remote_ssh_publickey_offer_timeout": true,
|
||||
"remote_ssh_server_accepts_key_then_session_timeout": true,
|
||||
"remote_ssh_server_accepts_key_then_session_timeout": false,
|
||||
"remote_ssh_auth_permission_denied": false,
|
||||
"harbor_110_repair_failure_classifier": "harbor_110_remote_ssh_publickey_auth_stalled",
|
||||
"harbor_110_repair_jobs_payload_stale_or_cross_workflow": true,
|
||||
"node_load_classifier": "load_not_high",
|
||||
"node_load_classifier": "high_load",
|
||||
"registry_v2_status": 502,
|
||||
"controlled_recovery_package": "recover-110-control-path-and-harbor-local.sh --check",
|
||||
"post_apply_verifier": "check-awoooi-110-controlled-cd-lane-readiness.sh",
|
||||
@@ -137,7 +137,7 @@
|
||||
"phase_id": "diagnose_remote_control_channel",
|
||||
"mode": "read_only",
|
||||
"command": "read-public-gitea-actions-queue.py --json",
|
||||
"expected_result": "remote_ssh_server_accepts_key_then_session_timeout_classifier_without_secret_material",
|
||||
"expected_result": "remote_ssh_publickey_offer_timeout_classifier_without_secret_material",
|
||||
"runtime_write_allowed_only_on_110_local_console": false
|
||||
},
|
||||
{
|
||||
@@ -151,7 +151,7 @@
|
||||
"phase_id": "repair_ssh_service_or_metadata_if_check_confirms_drift",
|
||||
"mode": "controlled_apply",
|
||||
"command": "recover-110-control-path-and-harbor-local.sh --apply-ssh-control-path",
|
||||
"expected_result": "ssh_session_pam_account_or_shell_path_repaired_without_key_material_read",
|
||||
"expected_result": "ssh_authorized_keys_permissions_pam_or_account_lookup_path_repaired_without_key_material_read",
|
||||
"runtime_write_allowed_only_on_110_local_console": true
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user