|
1446 | 1446 | runtimeProjectRootAligned: false, |
1447 | 1447 | promotionCriteriaPassed: 0, |
1448 | 1448 | promotionCriteriaTotal: 0, |
| 1449 | + promotionCriteriaSatisfiedIds: [], |
1449 | 1450 | promotionCriteriaUnsatisfiedIds: [], |
1450 | 1451 | promotionBlockerIds: [], |
1451 | 1452 | promotionBlockersCount: 0, |
|
1500 | 1501 | const promotionCriteriaTotal = Number.isFinite(Number(readiness && readiness.promotionCriteriaTotal)) |
1501 | 1502 | ? Number(readiness && readiness.promotionCriteriaTotal) |
1502 | 1503 | : promotionCriteria.length; |
| 1504 | + const promotionCriteriaSatisfiedIds = Array.isArray(readiness && readiness.promotionCriteriaSatisfiedIds) |
| 1505 | + ? readiness.promotionCriteriaSatisfiedIds.map((entry) => trimString(entry)).filter(Boolean) |
| 1506 | + : promotionCriteria.filter((entry) => entry.satisfied).map((entry) => entry.criterionId); |
1503 | 1507 | const promotionCriteriaUnsatisfiedIds = Array.isArray(readiness && readiness.promotionCriteriaUnsatisfiedIds) |
1504 | 1508 | ? readiness.promotionCriteriaUnsatisfiedIds.map((entry) => trimString(entry)).filter(Boolean) |
1505 | 1509 | : promotionCriteria.filter((entry) => !entry.satisfied).map((entry) => entry.criterionId); |
|
1525 | 1529 | runtimeProjectRootAligned: Boolean(provenance.runtimeProjectRootAligned), |
1526 | 1530 | promotionCriteriaPassed, |
1527 | 1531 | promotionCriteriaTotal, |
| 1532 | + promotionCriteriaSatisfiedIds, |
1528 | 1533 | promotionCriteriaUnsatisfiedIds, |
1529 | 1534 | promotionBlockerIds, |
1530 | 1535 | promotionBlockersCount: promotionBlockerIds.length, |
|
1537 | 1542 | 'assistant', |
1538 | 1543 | getI18nText( |
1539 | 1544 | 'agentWorkspace.messages.foundationReadinessLoaded', |
1540 | | - `Foundation readiness ${trimString(readiness && readiness.status) || 'unknown'} / ${trimString(readiness && readiness.decision) || 'unknown'} (store ${trimString(baseline.storeType) || 'n/a'}, graph ${trimString(baseline.graphBackendStatus) || 'n/a'}/${trimString(baseline.graphBackendSignalKind) || 'n/a'}, graph-independent ${Boolean(baseline.graphBackendIndependent) ? 'yes' : 'no'}, backend ${trimString(baseline.queryBackendDefaultMode) || 'n/a'}, signals ${queryBackendScoreSignals.join(', ') || 'none'}, vector ${trimString(baseline.vectorAdapterStatus) || 'n/a'}, signal-kind ${trimString(baseline.vectorAdapterSignalKind) || 'n/a'}, independent ${Boolean(baseline.vectorAdapterIndependent) ? 'yes' : 'no'}, linked ${Boolean(baseline.vectorAdapterLinkedIntoQueryBackend) ? 'yes' : 'no'}, repo-source ${trimString(provenance.repoRootSource) || 'n/a'}, aligned ${Boolean(provenance.runtimeProjectRootAligned) ? 'yes' : 'no'}, criteria ${promotionCriteriaPassed}/${promotionCriteriaTotal}, unmet ${promotionCriteriaUnsatisfiedIds.join(', ') || 'none'}, blockers ${promotionBlockerIds.join(', ') || 'none'}).`, |
| 1545 | + `Foundation readiness ${trimString(readiness && readiness.status) || 'unknown'} / ${trimString(readiness && readiness.decision) || 'unknown'} (store ${trimString(baseline.storeType) || 'n/a'}, graph ${trimString(baseline.graphBackendStatus) || 'n/a'}/${trimString(baseline.graphBackendSignalKind) || 'n/a'}, graph-independent ${Boolean(baseline.graphBackendIndependent) ? 'yes' : 'no'}, backend ${trimString(baseline.queryBackendDefaultMode) || 'n/a'}, signals ${queryBackendScoreSignals.join(', ') || 'none'}, vector ${trimString(baseline.vectorAdapterStatus) || 'n/a'}, signal-kind ${trimString(baseline.vectorAdapterSignalKind) || 'n/a'}, independent ${Boolean(baseline.vectorAdapterIndependent) ? 'yes' : 'no'}, linked ${Boolean(baseline.vectorAdapterLinkedIntoQueryBackend) ? 'yes' : 'no'}, repo-source ${trimString(provenance.repoRootSource) || 'n/a'}, aligned ${Boolean(provenance.runtimeProjectRootAligned) ? 'yes' : 'no'}, criteria ${promotionCriteriaPassed}/${promotionCriteriaTotal}, satisfied ${promotionCriteriaSatisfiedIds.join(', ') || 'none'}, unmet ${promotionCriteriaUnsatisfiedIds.join(', ') || 'none'}, blockers ${promotionBlockerIds.join(', ') || 'none'}).`, |
1541 | 1546 | { |
1542 | 1547 | status: trimString(readiness && readiness.status) || 'unknown', |
1543 | 1548 | decision: trimString(readiness && readiness.decision) || 'unknown', |
|
1557 | 1562 | runtimeProjectRootAligned: Boolean(provenance.runtimeProjectRootAligned) ? 'yes' : 'no', |
1558 | 1563 | promotionCriteriaPassed, |
1559 | 1564 | promotionCriteriaTotal, |
| 1565 | + promotionCriteriaSatisfiedIds: promotionCriteriaSatisfiedIds.join(', ') || 'none', |
1560 | 1566 | promotionCriteriaUnsatisfiedIds: promotionCriteriaUnsatisfiedIds.join(', ') || 'none', |
1561 | 1567 | promotionBlockerIds: promotionBlockerIds.join(', ') || 'none', |
1562 | 1568 | } |
|
1583 | 1589 | runtimeProjectRootAligned: false, |
1584 | 1590 | promotionCriteriaPassed: 0, |
1585 | 1591 | promotionCriteriaTotal: 0, |
| 1592 | + promotionCriteriaSatisfiedIds: [], |
1586 | 1593 | promotionCriteriaUnsatisfiedIds: [], |
1587 | 1594 | promotionBlockerIds: [], |
1588 | 1595 | promotionBlockersCount: 0, |
|
0 commit comments