Master Pages: Backend Handoff | Frontend Handoff | Backend Colab Entry | Frontend Colab Entry

Foundation-V2 FMIE Integration Audit

Version: v0.1 Status: Review Owners: FMIE / Foundation / Cortex / Frontend Last Updated: 2026-03-26 Change Type: additive Migration Required: yes Depends On: FMIE 0.42.7 handoff, Media Passport spec, External Cognition Gateway spec, Partner-Fit spec Supersedes: fmie-gap-audit-2026-03-25.md Superseded By: none

Scope

This audit checks the actual Foundation-V2 implementation against the current FMIE 0.42.7 contract, not the older handoff assumptions.

Sources reviewed: - services/haystack-pipeline/src/haystack_pipeline/ingest.py - services/scout-fleet/src/scout_fleet/fmie_access.py - services/scout-fleet/src/scout_fleet/runtime.py - services/cognition-gateway/src/cognition_gateway/passport.py - services/cognition-gateway/src/cognition_gateway/receipt.py - services/cognition-gateway/src/cognition_gateway/app.py - services/haystack-pipeline/src/haystack_pipeline/clip_extractor.py - services/haystack-pipeline/src/haystack_pipeline/document_regions.py - services/haystack-pipeline/src/haystack_pipeline/entity_matcher.py

Executive Read

Foundation-V2 is now meaningfully integrated with FMIE in three places: - Haystack ingest uses process_document() as the main local extraction path - Scout Fleet has a real fmie_access.py wrapper and batch path - Cognition Gateway validates summary.passport.json through native FMIE verification

But the integration is still incomplete in the places that matter most for the next generation: - trust and anchoring still do not use the full FMIE Media Passport proof set - version pinning is stale and brittle - partner-fit helper artifacts are wrapped but not consumed - runtime / health / telemetry discovery is unused - some direct frontier-model paths still bypass the Gateway

What Is Working

1. Core FMIE extraction is live

2. Media Passport validation is live

3. Scout Fleet has the correct FMIE surface on paper

The gap is usage depth, not total absence.

Critical Gaps

P0.1 Trust-path commitments are still too weak

services/cognition-gateway/src/cognition_gateway/receipt.py - request and response commitments are truncated to 16 hex chars - these are not commitment-grade hashes for the Midnight model

services/cognition-gateway/src/cognition_gateway/app.py - anchors a synthetic session passport from the request hash - does not use FMIE passport proof material such as: - artifact_root_sha256 - midnight_anchor_payload_sha256 - transform_manifest_sha256 - source_uri_sha256

Impact: - Media Passport is validated, but the live anchor path still does not reflect the full FMIE passport contract

P0.2 Gateway bypasses still exist

packages/answerer-py/src/answerer/__init__.py - sends raw prompt, internal context, and analysis to Anthropic via call_frontier_model - this is better than raw httpx usage, but it is still not the Cognition Gateway path

services/haystack-pipeline/src/haystack_pipeline/ingest.py - generates long-document summaries with a direct Anthropic HTTP call - this bypasses Semantic Airgap and receipt creation entirely

Impact: - the new external-cognition architecture is only partially universal

P0.3 FMIE helper artifacts are not used downstream

services/scout-fleet/src/scout_fleet/fmie_access.py - wrapper methods exist for: - summary.partner_fit_inputs.json - summary.meeting_need_vectors.json - partner_fit readiness - but services/scout-fleet/src/scout_fleet/runtime.py does not use them yet

services/haystack-pipeline/src/haystack_pipeline/ingest.py - does not consume any of the new partner-fit helper artifacts

Impact: - Foundation is still rebuilding higher-order meaning from raw FMIE outputs instead of consuming normalized FMIE helper contracts

Important Gaps

P1.1 FMIE version drift and brittle library paths

Still pinned in live code: - services/haystack-pipeline/src/haystack_pipeline/ingest.py - services/scout-fleet/src/scout_fleet/fmie_access.py

Current pattern: - /mnt/Storage-1/worktrees/comic/native/build/libfmie_c.so.0.42.2

Impact: - every FMIE runtime bump risks silent drift or partial breakage

P1.2 Document region intelligence exists but is not integrated

services/haystack-pipeline/src/haystack_pipeline/document_regions.py - page / region / table / chart parsing exists - I did not find a production caller for it

Impact: - Foundation is throwing away richer document structure it already has code to understand

P1.3 Entity matcher is wrapped but not used

services/haystack-pipeline/src/haystack_pipeline/entity_matcher.py - the FMIE matcher-index family is wrapped - no production usage found

Impact: - Foundation is not using FMIE’s strongest native identity continuity primitives yet

P1.4 Runtime and health contracts are unused

Unused surfaces include: - fmie_get_runtime_status_json() - fmie_get_health_status_json() - progress / phase callbacks - build profile / capabilities - telemetry snapshots

Impact: - Cortex and operations still cannot see FMIE as a first-class runtime peer

Optimization Opportunities

1. Consolidate FMIE access into one shared Python client

Right now the same FMIE resolution and fallback logic is duplicated across: - Haystack ingest - Scout Fleet - Passport validation - Clip extraction - Entity matcher

A single Foundation-side client package should own: - library resolution - wrapper import path resolution - current runtime discovery - helper artifact resolution - health/runtime-status fetches

2. Stop reconstructing partner-fit inputs manually

Scout and Haystack should consume: - summary.meeting_need_vectors.json - summary.partner_fit_inputs.json - summary.passport.json.partner_fit

Instead of only reading raw meeting_signals, tables, charts, and evidence.

3. Use real FMIE passport proof material for Midnight anchoring

Foundation already parses: - midnight_anchor_payload_sha256 - transform_manifest_sha256 - source_uri_sha256

Those should become the actual anchoring inputs instead of synthetic session hashes.

4. Promote FMIE runtime status into operations

Cortex should poll: - runtime status - health status - crash breadcrumbs - build profile

That enables: - worker readiness checks - crash triage - model residency diagnostics - batch-vs-sequential scheduling decisions

What FMIE Does Not Need To Change Right Now

There is no hard FMIE-native blocker for Foundation-V2 at the moment.

The remaining high-priority work is mostly on the Foundation / Cortex side: - stronger consumption of shipped helper artifacts - stronger trust-path anchoring - universal Gateway routing - runtime observability

Owner Split

FMIE / C++

Cortex / Python

Triton Frontend / Swift