# Enrichment Source UX And Governance Model V01

Issue: #418

Parent: #411

Depends on: #412, #413, #414, #415, #416, #417

## Purpose

This artifact documents the enrichment-source UX and governance model after the source registry, run-scoped request model, proof-page source panel, answer telemetry, session-only pasted source text, and admin-gated source request placeholder landed.

This is field guidance and operator handoff documentation. It is not policy, not runtime behavior, not source registration, not source expansion, not browser fetching, not provider or model configuration, not Cloudflare configuration, not package authority, and not approval to change source sets.

## Conceptual Model

The enrichment-source system has four separate layers:

1. Package authority.
2. Approved enrichment source registry.
3. Run-scoped source selection.
4. Session-only pasted source text.

Package authority is the approved package source set used for package claims. It remains the authority lane for package guidance, package citations, package provenance, and package-supported refusals.

The approved enrichment source registry is the static repo-controlled catalog at `docs/product-architecture/enrichment_source_registry_v01.json`. It records eligible enrichment-source identities, source-pack taxonomy, activation posture, license posture, lifecycle posture, trust ceiling, and boundary fields. Registry presence does not make a source package authority.

Run-scoped source selection is the per-answer request model from `docs/product-architecture/run_scoped_enrichment_source_selection_request_model_v01.json`. It may select or exclude approved registry source IDs for one answer run only. It does not mutate the registry, defaults, approved package source sets, package authority, provider configuration, or Cloudflare configuration.

Session-only pasted source text is user-provided excerpt text for one answer run. It is not a registry entry, not approved package corpus, not durable memory, not package authority, not external retrieval, and not source registration.

A source toggle changes only the current run. A source registration changes the system. A pasted excerpt changes neither.

## Package Authority Versus Enrichment Context

Package authority and enrichment context must stay separate in UX copy, request payloads, telemetry, citations, receipts, and future issue scoping.

Package authority supports package claims. Enrichment sources provide current/public, product, profile, or independently useful context when selected through approved paths. Enrichment context can inform comparison, divergence notes, update candidates, or product-specific clarification, but it does not rewrite the package and does not authorize package claims.

An answer may cite package sources, current/public enrichment sources, and session-only pasted sources separately. Those citation lanes must not be merged into one authority label.

## Source-Pack Taxonomy

The source-pack taxonomy comes from #412 and must align with `docs/product-architecture/enrichment_source_registry_v01.json`.

| Source pack | Coverage and default posture |
| --- | --- |
| `core_ai_capability` | Core AI capability sources. NIST AI RMF 1.0, NIST AI 600-1 Generative AI Profile, NIST CSF 2.0, and NIST SP 800-218 SSDF are the NIST-first global defaults. |
| `ai_security` | AI security sources such as NIST AI 100-2e2025, MITRE ATLAS, OWASP AISVS, OWASP GenAI / LLM Top 10, CISA / NSA / NCSC guidance, NSA / CISA / FBI AI Data Security, CSA AI Controls Matrix, and OpenSSF SLSA. |
| `ai_governance` | AI governance sources such as ISO/IEC 42001, ISO/IEC 23894, ISO/IEC 42005, ISO/IEC 5338, EU AI Act, OECD AI Principles, and license-sensitive standards handling. |
| `gxp_regulated_life_sciences` | GxP regulated life sciences sources such as FDA 21 CFR Part 11, 21 CFR Part 211, 21 CFR Part 820 / QMSR, FDA Part 11 guidance, FDA data integrity guidance, FDA CSA guidance, ICH Q9(R1), ICH Q10, EU Annex 11, PIC/S PI 041-1, ISPE GAMP 5, ISPE GAMP AI Guide, and EU/PIC/S Annex 22 draft gating. |
| `medical_device_samd` | Medical device and SaMD sources such as FDA Cybersecurity in Medical Devices, FDA AI/ML SaMD and PCCP guidance, QMSR, ISO 14971, IEC 62304, and IEC 81001-5-1. Licensed ISO/IEC sources remain gated unless rights are cleared. |
| `ot_endpoint_infrastructure` | OT, endpoint, and infrastructure sources such as NIST SP 800-82 Rev. 3, NIST CSF 2.0 for OT / endpoint / infrastructure, NIST SP 800-161, ISA/IEC 62443, CISA critical infrastructure guidance, and CIS Controls. ISA/IEC and CIS entries are gated where rights-controlled. |
| `foundation_model_providers` | Foundation model provider and vendor product sources such as Anthropic, OpenAI, Google/DeepMind/Gemini, Microsoft/Azure AI, AWS/Bedrock/SageMaker, Meta/Llama, Mistral, Cohere, IBM watsonx, NVIDIA AI Enterprise / NeMo, and Hugging Face. |
| `agent_rag_engineering` | Agent and RAG engineering sources such as LangChain documentation and LlamaIndex documentation. |
| `independent_evidence` | Independent evidence sources such as MLCommons AI Safety Benchmark and AI Incident Database. |
| `vendor_product_docs` | Vendor product documentation, system cards, model cards, safety policies, release notes, and product-specific implementation guidance when governed as vendor/product context. |

Only `core_ai_capability` may contain globally default-selected sources. Profile-triggered, product-triggered, user-selected, metadata-only, preview-only, unavailable, deprecated, retired, licensed-required, and admin-gated sources must not become silent global defaults.

## Global Default Source Policy

Global defaults are NIST-first and limited to the four core AI capability sources defined by #412:

- NIST AI RMF 1.0.
- NIST AI 600-1 Generative AI Profile.
- NIST CSF 2.0.
- NIST SP 800-218 SSDF.

Global default selection means the source can be available by default for general AI capability enrichment posture. It does not make the source package authority, compliance authority, certification authority, production approval, or owner validation for internal-source claims.

## Profile-Triggered Source Selection

Profile-triggered selection narrows the source panel and request posture to a governed source pack such as `ai_security`, `ai_governance`, `gxp_regulated_life_sciences`, `medical_device_samd`, `ot_endpoint_infrastructure`, `foundation_model_providers`, `agent_rag_engineering`, `independent_evidence`, or `vendor_product_docs`.

Profile selection does not mutate global defaults. It does not auto-register sources. It does not promote vendor/provider sources to package authority. It does not override lifecycle, license, preview, unavailable, deprecated, retired, or admin-gated blocks.

## Run-Scoped Include And Exclude Behavior

Run-scoped selection is represented by `enrichment_source_selection` with `selected_source_ids`, `excluded_source_ids`, and `selection_scope: "run_only"`.

Selected and excluded IDs must resolve to source IDs in the approved registry. Unknown IDs are refused. Preview-only, unavailable, deprecated, retired, admin-gated, and disallowed licensed sources cannot enter generation.

The include/exclude behavior applies only to the current answer run. It must not persist user preference, update the registry, update default policy, change package authority, write durable telemetry, or change provider/model behavior.

## Session-Only Pasted Source Behavior

Session-only pasted source text is a short excerpt supplied by the user for the current answer only. It is represented separately from registry-backed enrichment sources.

Session-only pasted source text:

- is not saved
- is not fetched by the browser
- is not fetched by the server from a user-entered URL
- is not added to the source registry
- is not package authority
- is not durable memory
- is not approved package corpus
- is not compliance authority
- is not source registration
- is cleared after the run

URL-like labels on pasted text are citation labels only. They are not fetch targets.

## Add Or Register Source Governance Boundary

The proof page may show a disabled `Request new source` placeholder, but it must not implement source registration from the proof page.

System-wide enrichment sources require governed registration, source validation, allowlist rules, extraction profile, validation receipt, and owner approval.

Source registration changes the system. It requires a future issue with explicit scope, rights posture, source identity, approval status, extraction profile or metadata-only posture, validation coverage, rollback posture where relevant, and receipt evidence. A source toggle and a pasted excerpt cannot substitute for that governance path.

## Vendor And Provider Source Behavior

Vendor docs are highest authority for their own product behavior.

Vendor system cards and safety policies are strong self-report, not independent proof.

Vendor sources are not compliance authority.

Vendor sources are not package authority.

Vendor sources are product-triggered, profile-triggered, or user-selected only.

Foundation model provider and vendor sources may include Anthropic, OpenAI, Google/DeepMind/Gemini, Microsoft/Azure AI, AWS/Bedrock/SageMaker, Meta/Llama, Mistral, Cohere, IBM watsonx, NVIDIA AI Enterprise / NeMo, Hugging Face, vendor system cards, safety policies, release notes, and product documentation. Their authority ceiling remains product behavior, vendor self-report, or product-specific implementation guidance unless stronger independent sources support a broader claim.

Vendor/provider sources must not be used to claim regulatory compliance, certification, conformance, market-wide best practice, independent empirical proof, or package authority.

## Licensed And Draft Source Handling

Licensed sources must not be fully ingested without rights clearance.

Rights-controlled standards must not be sourced through unofficial mirrors.

Licensed standards may be represented as metadata-only or controlled excerpts only when rights and repo policy allow it.

Draft/preview sources are not treated as stable default authority.

Deprecated, retired, unavailable, preview-only, or unlicensed sources must remain disabled or clearly gated in the UX.

ISO, IEC, ISPE, ISA/IEC, CIS, and similar rights-controlled standards require explicit rights posture. A registry entry can preserve source identity and governance metadata without ingesting full text or enabling answer generation from unauthorized text.

## Forbidden Behavior

The enrichment-source UX and governance model forbids:

- No arbitrary web search.
- No browser-side source fetching.
- No browser-side provider calls.
- No user-entered URL fetching.
- No silent registry/default mutation.
- No package-authority mutation.
- No session-source persistence.
- No licensed full-text ingestion without rights clearance.
- No unofficial mirrors for rights-controlled standards.
- No compliance/certification/conformance claims unless directly supported.
- No source registration from the proof page.
- No browser-side GitHub issue creation.
- No durable memory or durable source storage from pasted session text.
- No source discovery, crawling, queue, worker, scheduled job, webhook, polling, durable storage, or background process without a later explicitly approved issue.
- No mutation of #78, reopening of #271, implementation of #419, or `codex-automerge` for this documentation lane.

## Validation Receipts And Validator Coverage

Current coverage is split by landed issue:

| Issue | Artifact or behavior covered | Validator and receipt coverage |
| --- | --- | --- |
| #412 | Registry schema and source-pack integrity. | `validation/scripts/check_enrichment_source_registry.py` and `validation/receipts/AI_Capability_Playbook_ENRICHMENT_SOURCE_REGISTRY_V01_2026-07-02.md`. |
| #413 | Run-scoped source selection request model. | `validation/scripts/check_run_scoped_enrichment_source_selection_request_model.py` and `validation/receipts/AI_Capability_Playbook_RUN_SCOPED_ENRICHMENT_SOURCE_SELECTION_REQUEST_MODEL_V01_2026-07-02.md`. |
| #414 | Enrichment source panel UX. | `validation/scripts/check_enrichment_source_panel_ux_v01.py` and `validation/receipts/AI_Capability_Playbook_ENRICHMENT_SOURCE_PANEL_UX_V01_2026-07-02.md`. |
| #415 | Answer-side source telemetry. | `validation/scripts/check_answer_source_telemetry_v01.py` and `validation/receipts/AI_Capability_Playbook_ANSWER_SOURCE_TELEMETRY_V01_2026-07-02.md`. |
| #416 | Advanced session-only pasted source text. | `validation/scripts/check_advanced_session_only_source_text_v01.py` and `validation/receipts/AI_Capability_Playbook_ADVANCED_SESSION_ONLY_SOURCE_TEXT_V01_2026-07-02.md`. |
| #417 | Admin-gated `Request new source` placeholder. | `validation/scripts/check_enrichment_source_panel_ux_v01.py` and `validation/receipts/AI_Capability_Playbook_ADMIN_GATED_SOURCE_REQUEST_PLACEHOLDER_V01_2026-07-02.md`. |
| #418 | This UX and governance handoff model. | `validation/scripts/check_enrichment_source_ux_and_governance_model_v01.py` and `validation/receipts/AI_Capability_Playbook_ENRICHMENT_SOURCE_UX_AND_GOVERNANCE_MODEL_V01_2026-07-02.md`. |

The #418 validator must prove that this documentation is discoverable, includes the four-layer model, includes the key toggle/registration/pasted-excerpt rule, aligns source-pack names with the registry, documents forbidden behavior, references the prior validators and receipts, and avoids authority-confusing claims.

## Known Limitations And Follow-Up Backlog

This documentation does not add new sources, source expansion review, source registration implementation, external retrieval, arbitrary search, source crawling, browser fetches, provider calls, provider/model configuration, Cloudflare configuration, runtime behavior, UI behavior, answer telemetry behavior, or durable storage.

Known limitations:

- The source registry remains a static repo-controlled artifact.
- Profile-triggered behavior remains bounded by the landed UX/request model and registry contents.
- The `Request new source` affordance remains a disabled admin-gated placeholder.
- Licensed standards remain gated unless rights are cleared through a later owner-approved issue.
- Draft and preview sources remain gated and must not become stable defaults.
- Vendor/provider sources remain product-triggered, profile-triggered, or user-selected only.

Follow-up backlog belongs in later explicitly scoped issues, including #419 for source expansion review. Future work must preserve package-authority separation, run-scoped selection, session-only non-persistence, license gates, vendor/provider authority limits, validation receipts, and no-browser-fetch boundaries.

## Boundary Confirmations

- No runtime behavior is changed.
- No UI behavior is changed.
- No source selection behavior is changed.
- No answer telemetry behavior is changed.
- No advanced pasted-source behavior is changed.
- No Request new source placeholder behavior is changed.
- No provider or model configuration is changed.
- No Cloudflare configuration is changed.
- No source registry content is mutated.
- No package authority is mutated.
- No approved package source set is mutated.
- No arbitrary web search is added.
- No browser-side source fetching is added.
- No browser-side provider call is added.
- No user-entered URL fetching is added.
- No source discovery, crawling, queue, worker, scheduled job, webhook, polling, durable storage, or durable memory is added.
- No source registration is implemented.
- #419 is not implemented.
- #78 is not mutated.
- #271 is not reopened.
- `codex-automerge` must not be applied.
