@switch (activePanel()) {
@case ('pipeline') {
@if (selectedSource(); as source) {
{{ sourceName(source.sourceId) }}
{{ source.format }} · {{ source.schedule }}
Sync
0 ? source.chunks.toLocaleString() : 'none indexed'"
/>
@if (source.lastChange) {
}
@if (source.failure) {
Why it fails
{{ source.failure }}
}
Across all sources
@if (slowestStage(); as slowest) {
}
} @else {
Select a source.
}
}
@case ('quality') {
@if (selectedFreshness(); as row) {
{{ sourceName(row.sourceId) }}
{{ row.freshness }}% fresh · {{ row.volatility }} volatility
Score
Age alone is not staleness. A high-volatility source ages fast, so a
price list two weeks old scores worse than a handbook two months
old.
@if (row.contradicts) {
Contradiction
{{ row.contradicts }}
}
What users blamed
@if (blamedSources().length > 0) {
@for (blame of blamedSources(); track blame.source) {
}
A thumbs-down only closes the loop if it points at a document
somebody can go and fix.
} @else {
No negative feedback in this period.
}
} @else {
Select a source.
}
}
@case ('playbooks') {
@if (selectedPlaybook(); as playbook) {
{{ playbook.industry }}
{{ playbook.intents }} intents · {{ playbook.flows }} flows
What it brings
{{ playbook.summary }}
What stays yours
{{ playbook.stillYours }}
Open Flow Builder
} @else {
Select a playbook.
}
}
}