InfraNotes Financial Intelligence · v0
Welcome
Select a document from the sidebar to read it.
Release 5 Dev 2 Handoff
Financial Intelligence now exposes service-owned reconciliation facts for migration validation dashboards.
API
GET /api/v1/intelligence/migration-validation/reconciliation
Authentication and tenancy follow the existing FI API contract. The caller must have intelligence:analytics:view.
Optional query parameters:
start_date: inclusive window start inYYYY-MM-DD; defaults to current month start.end_date: inclusive window end inYYYY-MM-DD; defaults to now.entity_id: UUID filter applied to working-capital AR/AP facts.
The response uses the standard {data, meta} envelope. data.facts includes analytics totals, active-budget totals, cashflow snapshot/alert facts, and working-capital AR/AP facts. Decimal amounts are returned as major-unit strings with four decimal places so migration tooling can compare values without JSON float precision loss.
Freshness And Empty States
data.freshness, data.degraded, and data.degraded_reasons reuse the dashboard freshness semantics from Release 4. Missing source facts do not fail the endpoint; they produce missing freshness rows and degraded reasons so validation dashboards can distinguish empty data from service errors.
Deterministic Seed
Run this only for internal validation tenants:
RELEASE5_SEED_TENANT_ID=<tenant-uuid> \
RELEASE5_SEED_USER_ID=<user-uuid> \
DATABASE_URL='postgres://...' \
make seed-release5-migration-validation
Optional variables:
RELEASE5_SEED_ENTITY_ID: deterministic by tenant when omitted.RELEASE5_SEED_NAME: defaults toRelease 5 Migration Validation Fixture.RELEASE5_SEED_TIMEOUT: defaults to15s.
The seed is idempotent. It upserts one analytics summary, one active budget, one cashflow snapshot, and one open receivable/payable pair under the requested tenant.
Rollback
The service change is additive. Rollback by deploying the previous FI image; no schema migration is required. Seeded fixture rows can be left in staging validation tenants or removed manually by tenant/source identifiers if a clean fixture reset is needed.