按text22收束promotion证据
结论:完成 evidence-ready / inventory-ready 双层 promotion candidate 管理,release/SDK gate 已纳入 virtual HAL promotion summary,baseline 保持 28/28/131/0,Python remap、tool DB、external user-M hard block 继续 locked。
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -101,6 +101,24 @@
|
||||
font: 13px/1.4 "Segoe UI", "Noto Sans", sans-serif;
|
||||
cursor: pointer;
|
||||
}
|
||||
.source-filter-controls {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
|
||||
gap: 8px;
|
||||
}
|
||||
.source-filter-controls label {
|
||||
color: var(--muted);
|
||||
font: 12px/1.4 "Segoe UI", "Noto Sans", sans-serif;
|
||||
}
|
||||
.source-filter-controls select {
|
||||
width: 100%;
|
||||
min-height: 32px;
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 4px;
|
||||
padding: 6px 8px;
|
||||
color: var(--text);
|
||||
font: 13px/1.4 "Segoe UI", "Noto Sans", sans-serif;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
@@ -135,6 +153,15 @@
|
||||
<p data-workflow-overview-release-readiness-artifact-gate-execution-summary-status>Waiting for URL workflow gate evidence.</p>
|
||||
<dl data-workflow-overview-release-readiness-artifact-gate-execution-summary-rows></dl>
|
||||
</section>
|
||||
<section class="overview-status" aria-label="Promotion candidate drilldown" data-workflow-overview-promotion-candidate-drilldown>
|
||||
<p data-workflow-overview-promotion-candidate-drilldown-status>Waiting for promotion candidate evidence.</p>
|
||||
<dl data-workflow-overview-promotion-candidate-drilldown-rows></dl>
|
||||
</section>
|
||||
<section class="overview-status" aria-label="Promotion family source filter" data-workflow-overview-promotion-family-source-filter>
|
||||
<p data-workflow-overview-promotion-family-source-filter-status>Waiting for promotion family source evidence.</p>
|
||||
<div class="source-filter-controls" data-workflow-overview-promotion-family-source-filter-controls></div>
|
||||
<dl data-workflow-overview-promotion-family-source-filter-rows></dl>
|
||||
</section>
|
||||
</section>
|
||||
</main>
|
||||
<script type="module">
|
||||
@@ -178,6 +205,21 @@
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomReadiness,
|
||||
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState,
|
||||
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState,
|
||||
createIniPanelShellWorkflowOverviewPromotionFamilyRowsRenderState,
|
||||
createIniPanelShellWorkflowOverviewPromotionFamilySourceFilterViewModel,
|
||||
createIniPanelShellWorkflowOverviewPromotionFamilySourceFilterDomContract,
|
||||
createIniPanelShellWorkflowOverviewPromotionFamilySourceFilterDomReadiness,
|
||||
createIniPanelShellWorkflowOverviewPromotionFamilySourceFilterSelectionActionPlan,
|
||||
handleIniPanelShellWorkflowOverviewPromotionFamilySourceFilterSelectionChange,
|
||||
bindIniPanelShellWorkflowOverviewPromotionFamilySourceFilterSelectionControls,
|
||||
renderIniPanelShellWorkflowOverviewPromotionFamilySourceFilterState,
|
||||
mountIniPanelShellWorkflowOverviewPromotionFamilySourceFilterState,
|
||||
createIniPanelShellWorkflowOverviewPromotionCandidateDrilldownViewModel,
|
||||
createIniPanelShellWorkflowOverviewPromotionCandidateDrilldownRenderState,
|
||||
createIniPanelShellWorkflowOverviewPromotionCandidateDrilldownDomContract,
|
||||
createIniPanelShellWorkflowOverviewPromotionCandidateDrilldownDomReadiness,
|
||||
renderIniPanelShellWorkflowOverviewPromotionCandidateDrilldownState,
|
||||
mountIniPanelShellWorkflowOverviewPromotionCandidateDrilldownState,
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlanRenderState,
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlanDomContract,
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlanDomReadiness,
|
||||
@@ -248,8 +290,53 @@
|
||||
renderState: gateExecutionSummaryRenderState,
|
||||
documentRef: document,
|
||||
});
|
||||
const promotionCandidateDrilldown =
|
||||
createIniPanelShellWorkflowOverviewPromotionCandidateDrilldownViewModel(summary, {
|
||||
diagnosticsArtifact: workflow.diagnosticsArtifact,
|
||||
});
|
||||
const promotionCandidateDrilldownRenderState =
|
||||
createIniPanelShellWorkflowOverviewPromotionCandidateDrilldownRenderState(
|
||||
promotionCandidateDrilldown,
|
||||
);
|
||||
const promotionCandidateDrilldownMountResult =
|
||||
mountIniPanelShellWorkflowOverviewPromotionCandidateDrilldownState({
|
||||
renderState: promotionCandidateDrilldownRenderState,
|
||||
documentRef: document,
|
||||
});
|
||||
const promotionFamilyRowsRenderState =
|
||||
createIniPanelShellWorkflowOverviewPromotionFamilyRowsRenderState(summary);
|
||||
const promotionFamilySourceFilter =
|
||||
createIniPanelShellWorkflowOverviewPromotionFamilySourceFilterViewModel(
|
||||
promotionFamilyRowsRenderState,
|
||||
);
|
||||
const promotionFamilySourceFilterMountResult =
|
||||
mountIniPanelShellWorkflowOverviewPromotionFamilySourceFilterState({
|
||||
viewModel: promotionFamilySourceFilter,
|
||||
documentRef: document,
|
||||
});
|
||||
const promotionFamilySourceFilterBinding =
|
||||
bindIniPanelShellWorkflowOverviewPromotionFamilySourceFilterSelectionControls({
|
||||
renderState: promotionFamilyRowsRenderState,
|
||||
viewModel: promotionFamilySourceFilter,
|
||||
documentRef: document,
|
||||
render: true,
|
||||
onChange: (changeResult) => {
|
||||
document.body.dataset.promotionFamilySourceFilterFamily =
|
||||
changeResult.selectedFamilyId;
|
||||
document.body.dataset.promotionFamilySourceFilterSourceKind =
|
||||
changeResult.selectedSourceKind;
|
||||
document.body.dataset.promotionFamilySourceFilterCount =
|
||||
String(changeResult.actionPlan.filteredSourceFileCount);
|
||||
},
|
||||
});
|
||||
document.body.dataset.releaseArtifactUrlWorkflowPhase = workflow.phase;
|
||||
document.body.dataset.releaseArtifactUrlWorkflowReady = workflow.ready ? "true" : "false";
|
||||
document.body.dataset.promotionCandidateDrilldownReady =
|
||||
promotionCandidateDrilldown.ready ? "true" : "false";
|
||||
document.body.dataset.promotionFamilySourceFilterReady =
|
||||
promotionFamilySourceFilter.ready ? "true" : "false";
|
||||
document.body.dataset.promotionFamilySourceFilterCount =
|
||||
String(promotionFamilySourceFilter.filteredSourceFileCount);
|
||||
return {
|
||||
workflow,
|
||||
summary,
|
||||
@@ -261,6 +348,13 @@
|
||||
gateExecutionSummary,
|
||||
gateExecutionSummaryRenderState,
|
||||
gateExecutionSummaryMountResult,
|
||||
promotionCandidateDrilldown,
|
||||
promotionCandidateDrilldownRenderState,
|
||||
promotionCandidateDrilldownMountResult,
|
||||
promotionFamilyRowsRenderState,
|
||||
promotionFamilySourceFilter,
|
||||
promotionFamilySourceFilterMountResult,
|
||||
promotionFamilySourceFilterBinding,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -362,6 +456,69 @@
|
||||
options ?? { documentRef: document },
|
||||
)
|
||||
),
|
||||
getWorkflowOverviewPromotionFamilyRowsRenderState: (summaryViewModel) => (
|
||||
createIniPanelShellWorkflowOverviewPromotionFamilyRowsRenderState(summaryViewModel)
|
||||
),
|
||||
getWorkflowOverviewPromotionFamilySourceFilterViewModel: (renderState, options) => (
|
||||
createIniPanelShellWorkflowOverviewPromotionFamilySourceFilterViewModel(renderState, options)
|
||||
),
|
||||
getWorkflowOverviewPromotionFamilySourceFilterDomContract: (options) => (
|
||||
createIniPanelShellWorkflowOverviewPromotionFamilySourceFilterDomContract(options)
|
||||
),
|
||||
getWorkflowOverviewPromotionFamilySourceFilterDomReadiness: (options) => (
|
||||
createIniPanelShellWorkflowOverviewPromotionFamilySourceFilterDomReadiness(
|
||||
options ?? { documentRef: document },
|
||||
)
|
||||
),
|
||||
getWorkflowOverviewPromotionFamilySourceFilterSelectionActionPlan: (renderState, options) => (
|
||||
createIniPanelShellWorkflowOverviewPromotionFamilySourceFilterSelectionActionPlan(renderState, options)
|
||||
),
|
||||
handleWorkflowOverviewPromotionFamilySourceFilterSelectionChange: (options) => (
|
||||
handleIniPanelShellWorkflowOverviewPromotionFamilySourceFilterSelectionChange(
|
||||
options ?? { documentRef: document },
|
||||
)
|
||||
),
|
||||
bindWorkflowOverviewPromotionFamilySourceFilterSelectionControls: (options) => (
|
||||
bindIniPanelShellWorkflowOverviewPromotionFamilySourceFilterSelectionControls(
|
||||
options ?? { documentRef: document },
|
||||
)
|
||||
),
|
||||
renderWorkflowOverviewPromotionFamilySourceFilterState: (viewModel, options) => (
|
||||
renderIniPanelShellWorkflowOverviewPromotionFamilySourceFilterState(
|
||||
viewModel,
|
||||
options ?? { documentRef: document },
|
||||
)
|
||||
),
|
||||
mountWorkflowOverviewPromotionFamilySourceFilterState: (options) => (
|
||||
mountIniPanelShellWorkflowOverviewPromotionFamilySourceFilterState(
|
||||
options ?? { documentRef: document },
|
||||
)
|
||||
),
|
||||
getWorkflowOverviewPromotionCandidateDrilldownViewModel: (summaryViewModel, options) => (
|
||||
createIniPanelShellWorkflowOverviewPromotionCandidateDrilldownViewModel(summaryViewModel, options)
|
||||
),
|
||||
getWorkflowOverviewPromotionCandidateDrilldownRenderState: (viewModel) => (
|
||||
createIniPanelShellWorkflowOverviewPromotionCandidateDrilldownRenderState(viewModel)
|
||||
),
|
||||
getWorkflowOverviewPromotionCandidateDrilldownDomContract: (options) => (
|
||||
createIniPanelShellWorkflowOverviewPromotionCandidateDrilldownDomContract(options)
|
||||
),
|
||||
getWorkflowOverviewPromotionCandidateDrilldownDomReadiness: (options) => (
|
||||
createIniPanelShellWorkflowOverviewPromotionCandidateDrilldownDomReadiness(
|
||||
options ?? { documentRef: document },
|
||||
)
|
||||
),
|
||||
renderWorkflowOverviewPromotionCandidateDrilldownState: (renderState, options) => (
|
||||
renderIniPanelShellWorkflowOverviewPromotionCandidateDrilldownState(
|
||||
renderState,
|
||||
options ?? { documentRef: document },
|
||||
)
|
||||
),
|
||||
mountWorkflowOverviewPromotionCandidateDrilldownState: (options) => (
|
||||
mountIniPanelShellWorkflowOverviewPromotionCandidateDrilldownState(
|
||||
options ?? { documentRef: document },
|
||||
)
|
||||
),
|
||||
getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlanRenderState: (actionPlan) => (
|
||||
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlanRenderState(actionPlan)
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user