# Preview Current-Source Evidence Lane UI v01

Issue: #345

## Purpose

The Preview current-source evidence lane makes source-grounded answer provenance visible when the proof surface uses approved package context, current/public enrichment, or both lanes together.

This is a UI evidence-surface slice. It does not activate sources, modify source registries, change runtime retrieval semantics, change provider or model behavior, or promote current/public source material to package authority.

The first concrete current/public source identity this lane must represent is `nist-ai-rmf-public-framework-candidate`, using the already implemented `nist_ai_rmf_framework_bounded_html_extract_v01` server-side extraction profile.

## What The Lane Shows

The lane renders evidence already present in the source-grounded response contract:

- package citation count
- current/public citation count
- source evidence status
- current/public source ID
- current/public source title
- source lane: current/public enrichment
- retrieval profile ID, when returned
- safe current/public source URL, when already present in the citation payload
- retrieval timestamp
- trust label
- freshness label
- claim boundary
- bounded snippet preview, only when already present in the safe response payload

The lane can represent these states:

- package only
- current/public enrichment used
- package plus current/public used
- current/public insufficient
- refused
- source unavailable

## What The Lane Does Not Show

The lane must not expose:

- raw provider payloads
- raw headers
- cookies
- service tokens
- provider keys
- Cloudflare secrets
- secret-bearing URLs
- credentials
- browser-side retrieval output
- arbitrary user-provided URL content

The lane must not create a new source authority class. It displays returned evidence and boundary status only.

## Authority Boundary

Package citations remain the only package-authority lane.

Current/public citations are enrichment only. They can support comparison, interpretation, implementation screening, or freshness review, but they are not durable package authority.

The UI copy must state that current/public source content is enrichment only and is not package authority.

When package and current/public lanes are both present, the UI must keep them separable in status, counts, and citation class. It must not merge current/public claims into the package source basis.

## Refusal And Insufficient-Source States

The lane reflects refusal or insufficient-source posture from the existing response contract.

Examples:

- If no approved package support exists, current retrieval is blocked and the lane can show a refused or insufficient posture.
- If Package + current context is requested but no current/public source matches, the lane can show current/public insufficient.
- If current retrieval is disabled, unconfigured, unavailable, or fail-closed, the lane can show source unavailable or current/public insufficient.
- If deterministic approval-boundary refusal fires, the lane shows refused rather than implying source enrichment.

The lane must not invent current/public evidence from model memory.

## Not Source Registry Admin UI

This lane is not a Source Registry Admin UI.

It does not:

- list all source records
- inspect live Preview source sets
- inspect live Production source sets
- enable a source
- disable a source
- retire a source
- promote a source
- apply a source-set change
- create a live registry snapshot
- create a live last-known-good snapshot
- call Cloudflare
- mutate any runtime configuration

Source lifecycle administration remains in the Source Registry Admin workstream and its dry-run validators.

## Runtime Boundary

The browser continues to call only `/api/source-grounded-chat`.

Current/public retrieval remains server-side only through approved runtime behavior. The browser must not call current/public source URLs, provider APIs, Cloudflare APIs, or user-provided URLs.

This UI lane uses rendered response metadata and citations. It does not change retrieval order, retrieval policy, provider prompts, provider configuration, model configuration, or package authority.

## Validation Expectations

Validation should prove:

- the UI contains a Preview current-source evidence lane
- package-only state remains representable
- package plus current/public state remains representable
- current/public insufficient or refused posture remains representable
- current/public source identity for `nist-ai-rmf-public-framework-candidate` can be displayed when returned
- current/public enrichment is labeled as not package authority
- no browser-side provider call is introduced
- no browser-side current-source call is introduced
- no arbitrary web search or user-provided URL retrieval is introduced
- no source registry or source set is mutated

## Boundary Confirmations

- No source registry was mutated by this note.
- No Preview source set was mutated by this note.
- No Production source set was mutated by this note.
- No source was enabled, disabled, retired, promoted, or applied by this note.
- No current/public source content was promoted to package authority.
- No Cloudflare operation is required by this note.
- No provider/model configuration is changed by this note.
- No runtime retrieval semantics are changed by this note.
