feat(delivery): expose non110 autostart readback
This commit is contained in:
@@ -230,6 +230,15 @@ def build_delivery_closure_workbench(
|
||||
"non110_runner_online_label_match"
|
||||
)
|
||||
is True,
|
||||
"non110_runner_autostart_path_armed": production_deploy_readback.get(
|
||||
"non110_runner_autostart_path_armed"
|
||||
)
|
||||
is True,
|
||||
"non110_runner_ready_autostart_path_count": _int(
|
||||
production_deploy_readback.get(
|
||||
"non110_runner_ready_autostart_path_count"
|
||||
)
|
||||
),
|
||||
"non110_runner_registration_condition_required": production_deploy_readback.get(
|
||||
"non110_runner_registration_condition_required"
|
||||
)
|
||||
@@ -525,6 +534,15 @@ def build_delivery_closure_workbench(
|
||||
production_deploy_readback.get("non110_runner_online_label_match")
|
||||
is True
|
||||
),
|
||||
"production_deploy_non110_runner_autostart_path_armed": (
|
||||
production_deploy_readback.get("non110_runner_autostart_path_armed")
|
||||
is True
|
||||
),
|
||||
"production_deploy_non110_runner_ready_autostart_path_count": _int(
|
||||
production_deploy_readback.get(
|
||||
"non110_runner_ready_autostart_path_count"
|
||||
)
|
||||
),
|
||||
"production_deploy_non110_runner_registration_condition_required": (
|
||||
production_deploy_readback.get(
|
||||
"non110_runner_registration_condition_required"
|
||||
|
||||
@@ -108,6 +108,16 @@ def test_delivery_closure_workbench_endpoint_returns_product_summary():
|
||||
data["summary"]["production_deploy_non110_runner_online_label_match"]
|
||||
is False
|
||||
)
|
||||
assert (
|
||||
data["summary"]["production_deploy_non110_runner_autostart_path_armed"]
|
||||
is True
|
||||
)
|
||||
assert (
|
||||
data["summary"][
|
||||
"production_deploy_non110_runner_ready_autostart_path_count"
|
||||
]
|
||||
== 1
|
||||
)
|
||||
assert (
|
||||
data["summary"][
|
||||
"production_deploy_non110_runner_registration_condition_required"
|
||||
@@ -167,7 +177,7 @@ def test_delivery_closure_workbench_endpoint_returns_product_summary():
|
||||
assert lanes["production_deploy"]["blocker_count"] == 4
|
||||
assert lanes["production_deploy"]["metric"][
|
||||
"observed_source_control_main_short_sha"
|
||||
] == "88607eae4d36"
|
||||
] == "f84269453834"
|
||||
assert lanes["production_deploy"]["metric"][
|
||||
"production_image_tag_short_sha"
|
||||
] == "af45811e87"
|
||||
@@ -266,6 +276,16 @@ def test_delivery_closure_workbench_endpoint_returns_product_summary():
|
||||
lanes["production_deploy"]["metric"]["non110_runner_online_label_match"]
|
||||
is False
|
||||
)
|
||||
assert (
|
||||
lanes["production_deploy"]["metric"]["non110_runner_autostart_path_armed"]
|
||||
is True
|
||||
)
|
||||
assert (
|
||||
lanes["production_deploy"]["metric"][
|
||||
"non110_runner_ready_autostart_path_count"
|
||||
]
|
||||
== 1
|
||||
)
|
||||
assert (
|
||||
lanes["production_deploy"]["metric"][
|
||||
"non110_runner_registration_condition_required"
|
||||
|
||||
@@ -2569,6 +2569,8 @@ export interface DeliveryClosureWorkbenchSnapshot {
|
||||
production_deploy_non110_runner_host_label: string
|
||||
production_deploy_non110_runner_ubuntu_label: string
|
||||
production_deploy_non110_runner_online_label_match: boolean
|
||||
production_deploy_non110_runner_autostart_path_armed: boolean
|
||||
production_deploy_non110_runner_ready_autostart_path_count: number
|
||||
production_deploy_non110_runner_registration_condition_required: boolean
|
||||
production_deploy_non110_runner_ready_config_count: number
|
||||
production_deploy_non110_runner_ready_service_count: number
|
||||
@@ -2626,6 +2628,8 @@ export interface DeliveryClosureWorkbenchSnapshot {
|
||||
non110_runner_host_label: string
|
||||
non110_runner_ubuntu_label: string
|
||||
non110_runner_online_label_match: boolean
|
||||
non110_runner_autostart_path_armed: boolean
|
||||
non110_runner_ready_autostart_path_count: number
|
||||
non110_runner_registration_condition_required: boolean
|
||||
non110_runner_ready_config_count: number
|
||||
non110_runner_ready_service_count: number
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
## 2026-06-29 — 09:15 Delivery Workbench non-110 autostart watcher 投影
|
||||
|
||||
**完成內容**:
|
||||
- 將 non-110 runner verifier 的 `READY_AUTOSTART_PATH_COUNT=1` 與 autostart path armed evidence 投影到 production deploy snapshot、Delivery Workbench summary 與 `production_deploy` lane metric。
|
||||
- 刷新 source readback 觀測 SHA 為 `f84269453834`;safe next step 改為 registration metadata 出現後由 autostart path enable runner service,再重跑 verifier。
|
||||
|
||||
**邊界**:只改 committed source / snapshot / API type / tests;未使用 GitHub;未讀 token / `.runner` 內容 / cookie / session / secret;未操作 host / Docker / K8s / runner service;未 workflow_dispatch。
|
||||
|
||||
## 2026-06-29 — 09:13 post-reboot verifier false-positive 收斂與 service green readback
|
||||
|
||||
**背景**:
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"schema_version": "awoooi_production_deploy_readback_blocker_v1",
|
||||
"generated_at": "2026-06-29T08:51:04+08:00",
|
||||
"generated_at": "2026-06-29T09:15:03+08:00",
|
||||
"status": "blocked_waiting_authorized_gitea_workflow_dispatch_and_runner_queue",
|
||||
"priority": "P0",
|
||||
"scope": "awoooi_production_truth",
|
||||
"readback": {
|
||||
"observed_source_control_main_sha": "88607eae4d368416d04f5fe14fc47a53cd4f04a6",
|
||||
"observed_source_control_main_short_sha": "88607eae4d36",
|
||||
"observed_source_control_main_sha": "f84269453834a123eb40c6974e941f806b175b42",
|
||||
"observed_source_control_main_short_sha": "f84269453834",
|
||||
"governance_closure_merge_sha": "27b96f0450d0e3ca6651d6b5f274a341dd727ef2",
|
||||
"governance_closure_commit_sha": "9e3e7fbb6ba3ffd324b45abf3ad1e7b6ec826b22",
|
||||
"production_image_tag_sha": "af45811e876fda322ee63c036fbc39c9f07ffd76",
|
||||
@@ -41,6 +41,8 @@
|
||||
"non110_runner_host_label": "awoooi-non110-host",
|
||||
"non110_runner_ubuntu_label": "awoooi-non110-ubuntu",
|
||||
"non110_runner_online_label_match": false,
|
||||
"non110_runner_autostart_path_armed": true,
|
||||
"non110_runner_ready_autostart_path_count": 1,
|
||||
"non110_runner_registration_condition_required": true,
|
||||
"non110_runner_ready": false,
|
||||
"non110_runner_ready_config_count": 1,
|
||||
@@ -53,7 +55,7 @@
|
||||
"runner_service_not_active",
|
||||
"no_active_runner_service"
|
||||
],
|
||||
"non110_runner_safe_next_step": "run_safe_registration_helper_from_interactive_tty_without_capturing_token_then_enable_service_and_rerun_verifier"
|
||||
"non110_runner_safe_next_step": "run_register_awoooi_non110_runner_script_without_printing_token_then_autostart_path_will_enable_service_and_rerun_this_verifier"
|
||||
},
|
||||
"blockers": [
|
||||
{
|
||||
@@ -106,6 +108,7 @@
|
||||
"authorized_dispatch_channel_ready": false,
|
||||
"non110_runner_ready": false,
|
||||
"non110_runner_online_label_match": false,
|
||||
"non110_runner_autostart_path_armed": true,
|
||||
"non110_runner_remaining_blocker_count": 3,
|
||||
"runtime_write_performed": false,
|
||||
"secret_values_collected": false
|
||||
|
||||
Reference in New Issue
Block a user