fix(web): show authoritative P0 focus
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 1m13s
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 1m13s
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
This commit is contained in:
@@ -1200,6 +1200,8 @@ type CurrentP0ExecutionFocus = {
|
||||
autostart_check_mode_ready?: boolean | null;
|
||||
service_data_backup_closed?: boolean | null;
|
||||
operation_boundaries?: {
|
||||
low_medium_high_controlled_apply_allowed?: boolean | null;
|
||||
critical_break_glass_required?: boolean | null;
|
||||
secret_value_read?: boolean | null;
|
||||
host_reboot?: boolean | null;
|
||||
vm_power_change?: boolean | null;
|
||||
@@ -11619,7 +11621,9 @@ function MainlineWorkProgressStrip({
|
||||
programSummary?.completion_percent ??
|
||||
(total > 0 ? Math.round((done / total) * 100) : 0)
|
||||
);
|
||||
const readiness = toCount(summary?.active_p0_readiness_percent);
|
||||
const readiness = toCount(
|
||||
focus?.readiness_percent ?? summary?.active_p0_readiness_percent
|
||||
);
|
||||
const nextId =
|
||||
programSummary?.next_work_item_id ??
|
||||
summary?.commander_inserted_requirement_next_id ??
|
||||
@@ -11635,9 +11639,12 @@ function MainlineWorkProgressStrip({
|
||||
summary?.commander_inserted_requirement_next_action ??
|
||||
items[0]?.next_action ??
|
||||
"--";
|
||||
const currentP0 = summary?.active_p0_workplan_id ?? "--";
|
||||
const currentState = summary?.active_p0_state ?? "--";
|
||||
const currentP0 = focus?.workplan_id ?? summary?.active_p0_workplan_id ?? "--";
|
||||
const currentState = focus?.state ?? summary?.active_p0_state ?? "--";
|
||||
const activeBlockers = summary?.active_p0_live_active_blockers ?? [];
|
||||
const activeBlockerCount = toCount(
|
||||
focus?.active_blocker_count ?? activeBlockers.length
|
||||
);
|
||||
const primaryBlocker =
|
||||
focus?.primary_blocker ??
|
||||
summary?.active_p0_primary_blocker ??
|
||||
@@ -11664,7 +11671,7 @@ function MainlineWorkProgressStrip({
|
||||
summary?.current_p0_execution_focus_no_secret_verifier_ready ??
|
||||
false;
|
||||
const boundary = focus?.operation_boundaries;
|
||||
const boundaryClosed =
|
||||
const legacyBoundaryClosed =
|
||||
boundary &&
|
||||
boundary.secret_value_read === false &&
|
||||
boundary.host_reboot === false &&
|
||||
@@ -11672,6 +11679,14 @@ function MainlineWorkProgressStrip({
|
||||
boundary.remote_write === false &&
|
||||
boundary.database_write === false &&
|
||||
boundary.github_api === false;
|
||||
const controlledBoundaryReady =
|
||||
boundary?.low_medium_high_controlled_apply_allowed === true &&
|
||||
boundary?.critical_break_glass_required === true &&
|
||||
boundary.secret_value_read === false &&
|
||||
boundary.host_reboot === false &&
|
||||
boundary.vm_power_change === false &&
|
||||
boundary.github_api === false;
|
||||
const boundaryClosed = legacyBoundaryClosed || controlledBoundaryReady;
|
||||
const visibleItems = pickMainlineVisibleWorkItems(items, nextId, 6);
|
||||
const statusMetrics = [
|
||||
{
|
||||
@@ -11844,7 +11859,7 @@ function MainlineWorkProgressStrip({
|
||||
{t("primaryBlocker")}
|
||||
</div>
|
||||
<span className="font-mono text-[11px] font-semibold text-[#5f5b52]">
|
||||
{t("blockerCount", { count: activeBlockers.length })}
|
||||
{t("blockerCount", { count: activeBlockerCount })}
|
||||
</span>
|
||||
</div>
|
||||
<div className="mt-2 truncate text-xs font-semibold text-[#141413]">
|
||||
|
||||
Reference in New Issue
Block a user