MIZ OKI — External Knowledge Enrichment (Parts C–D: canonical pointer + current build state)
Current-state date: 2026-08-22
Canonical body: docs/OFFERING_MAP.md v2.3 FINAL carries the product and architecture text for external knowledge enrichment, sourcing rules, agent enhancements, and MarketSignal. This file does not duplicate that canon. It records the implementation and operating state against the tree.
Claim ceiling is surface-specific:
- MarketSignal / Cell 37: implemented, integrated, deployed, and live-verified. No unqualified performance benchmark is claimed.
- External entity spine: implemented and OCP-approved, but operator-dark; production enablement and provider-specific licensing remain bounded decisions.
- Read-path augmentation: implemented as an observe-only helper, not wired to a shipped consumer.
Part C — External entity spine
C.1 Enterprise KG reconciliation
Implementation: pipelines/ekg_reconcile/.
HARD RULE: reconciliation scope is organizations, brands, products, and campaigns only. A denylist refuses any configuration referencing customer, person, household, or contact tables, or person-identifier columns. Person-level data never leaves the platform for third-party reconciliation.
The CLI is dry-run by default. Execution requires the feature flag and an approved configuration; entity merges remain reversible proposals with provenance and validity intervals. Operator procedure: docs/runbooks/EKG_RECONCILE_RUNBOOK.md.
No production reconciliation run is inferred merely because the OCP is approved or the runner exists.
C.2 Hydration through the governed KG writer
Implementation: pipelines/entity_hydrate/.
Hydration submits imported assertions through service-canonical-ingestion, which validates the canonical envelope and projects to the Firestore-backed kg_nodes / kg_relationships store. Neo4j was retired by owner decision on 2026-08-09. The pipeline holds no direct graph-store write capability, and tests pin that boundary.
SAME_AS merges are reversible proposals carrying the OCP-named source property. Google Enterprise Knowledge Graph and Wikidata contradictions are preserved and scored rather than silently resolved.
The production runner (pipelines/entity_hydrate/cli.py) refuses without the flag, writer URL, provider configuration, and tenant. The C3d LLM disambiguation path uses virtuoso_call(Role.DATA_CAUSAL) to select only from the supplied QID candidates; out-of-list model output is discarded, and traces persist to the governed reasoning-trace sink.
OCP-20260811-external-entity-spine is APPROVED. Approval settles the architecture; it does not turn on execution. EXTERNAL_ENTITY_SPINE remains off until an operator conducts the bounded dry run, licensing review, candidate inspection, and explicit enablement.
C.3 Read-path integration
Implementation: pipelines/entity_hydrate/read_path.py.
MID/QID-anchored topic grouping is an observe-only additive response field. It remains absent unless EXTERNAL_ENTITY_SPINE is enabled and returns identifiers only; external display names remain subject to the Google KG nameLicense gate.
No shipped consumer surface currently calls augment_classification_response or consumes entity_mids. The helper is therefore integrated code but not an activated product path. Wiring belongs with the future approved consumer, not as a speculative side door.
Part D — MarketSignal envelope and market-side sensing
D.1 Envelope and governed ingest
Implementation: mizoki/schema/market-signal.json, the mirrored virtuoso-model packages, and Cell 37 market-signal-ingest.
The v1 signal enum includes serp_position, serp_feature, trend_index, sales_rank, share_of_voice, and inventory_level. Assertions are imported or inferred only—never causal. Causal edges remain restricted to the governed causal chain. consent_scope is market, and validation rejects person-level identifiers.
The service is deployed and IAM-locked. Governed ingest, MERGE/CAS duplicate handling, quarantine/redaction/reprocess, and structured extraction through the primary model path have been live-verified.
D.2 Time-window convention
All time fields are UTC. Downstream joins use the Measurement Foundations time-window convention. Each view documents its window function inline, including bigquery/schemas/views/v_brand_search_covariates.sql; src/shared/virtuoso_models/schemas/market_signals.bigquery.sql carries the same convention at the table layer.
D.3 Production operating state
As of 2026-08-22:
- the expected BigQuery objects are applied;
- post-deploy identity and gateway routing are wired;
- the Cell 37 and gateway Managed Prometheus sidecars are live;
- the Terraform module is reconciled 9/9: two base Scheduler jobs, six alert policies, and the MarketSignal dashboard;
- the real SERP provider secret is mounted on a serving revision;
- authenticated
/readyzreturned 200; - operator-assist poll proof landed 16
serp_providerrows; - the canonical injection door is implemented but deliberately unarmed pending its separate caller allowlist and
CANONICAL_INGESTION_URLstep; - Amazon SP-API remains tenant-scoped and requires each tenant's LWA credentials, reviewed watchlist, and first real pull evidence.
The old “built, pre-benchmark” label is no longer accurate for Cell 37 deployment status. It remains appropriate only as a performance-claim ceiling where no validated production benchmark exists.
Current operational pointer: docs/reports/MARKET_SIGNAL_CURRENT_STATE_2026-08-22.md.
Authority note: architecture and product canon live in docs/OFFERING_MAP.md; executable truth lives in the tree and measured production evidence. Where a historical narrative differs from current code or verified state, the tree and later evidence win.