AIN-506 P0 Embedding Contract Gate Receipt
Build-time contracts, validation, versioning, and retrieval-quality scaffolding are enforced before canonical Personalization Engine processing.
Retrieval Harness
50 seed queries, 50 fixture embedding records, top-1 success 50/50. Live Gemini API invoked: False.
Checks
| agent_instructions_present | PASS |
| batch_api_preferred | PASS |
| canonical_work_blocked_in_instructions | PASS |
| design_document_html_present | PASS |
| design_document_markdown_present | PASS |
| duckdb_vss_experimental_only | PASS |
| embedding_dimension_locked | PASS |
| embedding_output_schema_validates | PASS |
| embedding_ready_schema_validates | PASS |
| exact_cosine_documented | PASS |
| exact_cosine_first | PASS |
| free_tier_blocked_for_proprietary_data | PASS |
| gemini_model_locked | PASS |
| gemini_provider_locked | PASS |
| live_gemini_api_not_invoked_in_ci | PASS |
| normalized_entity_schema_validates | PASS |
| paid_api_required_for_live_runtime | PASS |
| pandera_contracts_available | PASS |
| parquet_duckdb_storage_selected | PASS |
| pydantic_ai_not_required_for_build_gate | PASS |
| pydantic_contracts_defined | PASS |
| retrieval_harness_valid | PASS |
| retrieval_seed_count_50 | PASS |
| storage_layout_documented | PASS |
| vss_experimental_only_documented | PASS |
Runtime Boundary
Live Gemini embedding jobs remain blocked until a paid Gemini API project and privacy stance are explicitly confirmed. CI and local validation use deterministic fixture embeddings only. The gate may detect whether the configured API-key environment variable is present, but it never writes the secret value to artifacts.