Source library @switch (activePanel()) { @case ('pipeline') { @if (notIndexed().length > 0) { {{ notIndexed().length }} source(s) contribute nothing to retrieval right now. Uploading a document is not indexing it — until a source reads Synced, its content is invisible to every agent. } Stages
    @for (stage of pipeline; track stage.stage) {
  1. {{ stageLabels[stage.stage] }} {{ stage.detail }} @if (stage.failureMode) { Fails when: {{ stage.failureMode }} } {{ stage.medianSeconds }}s
  2. }
Sources @for (source of sources; track source.id) { {{ sourceName(source.sourceId) }} {{ source.format }} {{ source.schedule }} {{ source.lastSync }} {{ source.chunks > 0 ? source.chunks.toLocaleString() : '—' }} } Formats } @case ('quality') { @if (contradicting().length > 0) { {{ contradicting().length }} source contradicts a newer one. That is the failure a customer actually notices — two answers to the same question, both cited. } Freshness Answer feedback — {{ helpfulRate() }}% helpful } @case ('playbooks') { A playbook is a starting point, not a deployment. Every one lists what it cannot bring — your catalogue, your policies, your regulated wording. {{ installedCount() }} of {{ playbooks.length }} installed. } } @switch (activePanel()) { @case ('pipeline') { @if (selectedSource(); as source) {

{{ sourceName(source.sourceId) }}

{{ source.format }} · {{ source.schedule }}

Sync @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. } } }