InfraForge Docs

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 in YYYY-MM-DD; defaults to current month start.
  • end_date: inclusive window end in YYYY-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 to Release 5 Migration Validation Fixture.
  • RELEASE5_SEED_TIMEOUT: defaults to 15s.

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.