fix(reboot): project vmx locator receipt readback
All checks were successful
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 3m47s
CD Pipeline / build-and-deploy (push) Successful in 4m48s
CD Pipeline / post-deploy-checks (push) Successful in 1m52s

This commit is contained in:
Your Name
2026-07-03 12:53:33 +08:00
parent 7b02c452e3
commit ba0849f707
9 changed files with 438 additions and 36 deletions

View File

@@ -1189,6 +1189,9 @@ type PriorityWorkOrderResponse = {
windows99_vmx_source_locator_target_aliases?: string[] | null;
windows99_vmx_source_locator_next_executable_step?: string | null;
windows99_vmx_source_locator_expected_vmx_path_count?: number | null;
windows99_vmx_source_locator_candidate_source_count?: number | null;
windows99_vmx_source_locator_identity_unassigned_ubuntu_candidate_count?: number | null;
windows99_vmx_source_locator_candidate_confirmation_required?: boolean | null;
windows99_vmx_source_locator_candidate_source_count_known?: boolean | null;
windows99_vmx_source_locator_collector_readback_present?: boolean | null;
windows99_vmx_source_locator_collector_collection_status?: string | null;
@@ -1269,6 +1272,9 @@ type PriorityWorkOrderResponse = {
windows99_vmx_source_locator_target_aliases?: string[] | null;
windows99_vmx_source_locator_next_executable_step?: string | null;
windows99_vmx_source_locator_expected_vmx_path_count?: number | null;
windows99_vmx_source_locator_candidate_source_count?: number | null;
windows99_vmx_source_locator_identity_unassigned_ubuntu_candidate_count?: number | null;
windows99_vmx_source_locator_candidate_confirmation_required?: boolean | null;
windows99_vmx_source_locator_candidate_source_count_known?: boolean | null;
windows99_vmx_source_locator_collector_readback_present?: boolean | null;
windows99_vmx_source_locator_collector_collection_status?: string | null;
@@ -1414,20 +1420,23 @@ const COMMANDER_INSERTED_REQUIREMENT_FALLBACK: PriorityWorkOrderResponse = {
windows99_vmx_source_repair_playbook_trust_writeback_ref:
"playbook://awoooi/windows99-vmx-source-repair/windows99-vmx-source-repair-111",
windows99_vmx_source_locator_status:
"check_mode_locator_ready_windows99_vmx_source_required",
"collector_readback_single_identity_candidate_confirmation_required",
windows99_vmx_source_locator_required: true,
windows99_vmx_source_locator_check_mode_ready: true,
windows99_vmx_source_locator_target_aliases: ["111"],
windows99_vmx_source_locator_next_executable_step:
"run_no_secret_windows99_vmx_source_locator_collect",
"confirm_single_unassigned_ubuntu_candidate_before_scoped_relink_dry_run",
windows99_vmx_source_locator_expected_vmx_path_count: 1,
windows99_vmx_source_locator_candidate_source_count_known: false,
windows99_vmx_source_locator_collector_readback_present: false,
windows99_vmx_source_locator_candidate_source_count: 6,
windows99_vmx_source_locator_identity_unassigned_ubuntu_candidate_count: 1,
windows99_vmx_source_locator_candidate_confirmation_required: true,
windows99_vmx_source_locator_candidate_source_count_known: true,
windows99_vmx_source_locator_collector_readback_present: true,
windows99_vmx_source_locator_collector_collection_status:
"not_collected_by_api_readback",
"collected_windows99_vmx_source_locator_stdout",
windows99_vmx_source_locator_raw_path_output: false,
windows99_vmx_source_locator_path_fingerprint_only: true,
windows99_vmx_source_locator_file_content_read: false,
windows99_vmx_source_locator_file_content_read: true,
windows99_vmx_source_locator_remote_write_performed: false,
windows99_vmx_source_locator_vm_power_change_performed: false,
stockplatform_public_api_runtime_status: "stockplatform_public_api_runtime_ready",
@@ -1528,20 +1537,23 @@ const COMMANDER_INSERTED_REQUIREMENT_FALLBACK: PriorityWorkOrderResponse = {
windows99_vmx_source_repair_playbook_trust_writeback_ref:
"playbook://awoooi/windows99-vmx-source-repair/windows99-vmx-source-repair-111",
windows99_vmx_source_locator_status:
"check_mode_locator_ready_windows99_vmx_source_required",
"collector_readback_single_identity_candidate_confirmation_required",
windows99_vmx_source_locator_required: true,
windows99_vmx_source_locator_check_mode_ready: true,
windows99_vmx_source_locator_target_aliases: ["111"],
windows99_vmx_source_locator_next_executable_step:
"run_no_secret_windows99_vmx_source_locator_collect",
"confirm_single_unassigned_ubuntu_candidate_before_scoped_relink_dry_run",
windows99_vmx_source_locator_expected_vmx_path_count: 1,
windows99_vmx_source_locator_candidate_source_count_known: false,
windows99_vmx_source_locator_collector_readback_present: false,
windows99_vmx_source_locator_candidate_source_count: 6,
windows99_vmx_source_locator_identity_unassigned_ubuntu_candidate_count: 1,
windows99_vmx_source_locator_candidate_confirmation_required: true,
windows99_vmx_source_locator_candidate_source_count_known: true,
windows99_vmx_source_locator_collector_readback_present: true,
windows99_vmx_source_locator_collector_collection_status:
"not_collected_by_api_readback",
"collected_windows99_vmx_source_locator_stdout",
windows99_vmx_source_locator_raw_path_output: false,
windows99_vmx_source_locator_path_fingerprint_only: true,
windows99_vmx_source_locator_file_content_read: false,
windows99_vmx_source_locator_file_content_read: true,
windows99_vmx_source_locator_remote_write_performed: false,
windows99_vmx_source_locator_vm_power_change_performed: false,
drill_preflight_blocker_count: 5,
@@ -9357,6 +9369,18 @@ function ManagerSituationBoard({
summary?.windows99_vmx_source_locator_expected_vmx_path_count ??
evidence?.windows99_vmx_source_locator_expected_vmx_path_count ??
0;
const vmxSourceLocatorCandidateCount =
summary?.windows99_vmx_source_locator_candidate_source_count ??
evidence?.windows99_vmx_source_locator_candidate_source_count ??
0;
const vmxSourceLocatorIdentityUnassignedCount =
summary?.windows99_vmx_source_locator_identity_unassigned_ubuntu_candidate_count ??
evidence?.windows99_vmx_source_locator_identity_unassigned_ubuntu_candidate_count ??
0;
const vmxSourceLocatorConfirmationRequired =
summary?.windows99_vmx_source_locator_candidate_confirmation_required ??
evidence?.windows99_vmx_source_locator_candidate_confirmation_required ??
false;
const vmxSourceLocatorCandidateKnown =
summary?.windows99_vmx_source_locator_candidate_source_count_known ??
evidence?.windows99_vmx_source_locator_candidate_source_count_known ??
@@ -9736,9 +9760,28 @@ function ManagerSituationBoard({
</span>
<span className="border border-[#d8d3c7] bg-white px-2 py-0.5 text-[11px] font-semibold text-[#5f5b52]">
{vmxSourceLocatorCandidateKnown
? t("vmxRepair.locatorCandidatesKnown")
? t("vmxRepair.locatorCandidatesKnown", {
count: vmxSourceLocatorCandidateCount,
})
: t("vmxRepair.locatorCandidatesUnknown")}
</span>
<span className="border border-[#d8d3c7] bg-white px-2 py-0.5 text-[11px] font-semibold text-[#5f5b52]">
{t("vmxRepair.locatorIdentityUnassigned", {
count: vmxSourceLocatorIdentityUnassignedCount,
})}
</span>
<span
className={cn(
"border bg-white px-2 py-0.5 text-[11px] font-semibold",
vmxSourceLocatorConfirmationRequired
? "border-[#f0c6a8] text-[#9a4d16]"
: "border-[#cbd7bf] text-[#3d6b24]"
)}
>
{vmxSourceLocatorConfirmationRequired
? t("vmxRepair.locatorNeedsConfirm")
: t("vmxRepair.locatorConfirmClosed")}
</span>
<span className="border border-[#d8d3c7] bg-white px-2 py-0.5 text-[11px] font-semibold text-[#5f5b52]">
{vmxSourceLocatorCollectorPresent
? t("vmxRepair.locatorCollected")