fix(work-items): surface AI agent lifecycle item
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 / build-and-deploy (push) Successful in 4m51s
CD Pipeline / post-deploy-checks (push) Has been cancelled

This commit is contained in:
ogt
2026-07-10 11:21:57 +08:00
parent a7afa90e70
commit 4026a23dcf
3 changed files with 49 additions and 3 deletions

View File

@@ -11122,6 +11122,51 @@ function commanderStatusTone(status: string) {
}
}
const MAINLINE_WORK_PROGRESS_SPOTLIGHT_IDS = new Set([
"CIR-P1-AI-002",
"CIR-P0-AILOOP-001",
"CIR-P0-LOG-001",
"CIR-P0-TG-001",
"CIR-P0-IA-001",
"CIR-P1-UI-001",
"CIR-P1-OPENCLAW-001",
"CIR-P2-UX-002",
]);
function pickMainlineVisibleWorkItems(
items: CommanderInsertedRequirementWorkItem[],
nextId: string,
limit = 12
) {
const selected: CommanderInsertedRequirementWorkItem[] = [];
const seen = new Set<string>();
const addItem = (item?: CommanderInsertedRequirementWorkItem) => {
const id = item?.id;
if (!id || seen.has(id)) {
return;
}
selected.push(item);
seen.add(id);
};
addItem(items.find((item) => item.id === nextId));
for (const item of items) {
const status = item.status ?? "pending";
if (
status === "in_progress" ||
status === "blocked" ||
MAINLINE_WORK_PROGRESS_SPOTLIGHT_IDS.has(item.id ?? "")
) {
addItem(item);
}
}
for (const item of items) {
addItem(item);
}
return selected.slice(0, limit);
}
function MainlineWorkProgressStrip({
priority,
loading,
@@ -11161,7 +11206,7 @@ function MainlineWorkProgressStrip({
const activeBlockers = summary?.active_p0_live_active_blockers ?? [];
const primaryBlocker =
summary?.active_p0_primary_blocker ?? activeBlockers[0] ?? "--";
const visibleItems = items.slice(0, 8);
const visibleItems = pickMainlineVisibleWorkItems(items, nextId);
const statusMetrics = [
{
key: "done",
@@ -11569,6 +11614,7 @@ function CommanderInsertedRequirementsPanel({
};
const spotlightIds = new Set([
nextId,
"CIR-P1-AI-002",
"CIR-P0-AILOOP-001",
"CIR-P0-LOG-001",
"CIR-P0-TG-001",