recon_gen.apps.investigation.app

Tree-based builder for the Investigation App (L.2 port).

Replaces the constant-heavy + manually-cross-referenced builders in apps/investigation/{analysis,filters,visuals}.py with the typed tree primitives from common/tree/. Sheets land one per L.2 sub-step:

  • L.2.1 — Getting Started (text boxes only, app-level skeleton)

  • L.2.2 — Recipient Fanout (3 KPIs + ranked table + threshold slider + date range filter)

  • L.2.3 — Volume Anomalies

  • L.2.4 — Money Trail

  • L.2.5 — Account Network (already validated through L.0 + L.1.15)

  • L.2.6 — App-level wiring: dashboard + dataset declarations

Functions

build_analysis(cfg, *[, l2_instance])

Tree-backed replacement for the imperative build_analysis.

build_investigation_app(cfg, *[, l2_instance])

Build the Investigation App tree (N.3.f — L2-fed).

build_investigation_dashboard(cfg, *[, ...])

Tree-backed replacement for the imperative builder.

recon_gen.apps.investigation.app.build_analysis(cfg, *, l2_instance=None)[source]

Tree-backed replacement for the imperative build_analysis.

Forwards l2_instance to build_investigation_app; default is the persona-neutral spec_example.

Return type:

Analysis

Parameters:
recon_gen.apps.investigation.app.build_investigation_app(cfg, *, l2_instance=None)[source]

Build the Investigation App tree (N.3.f — L2-fed).

Returns a fully-wired App ready for app.emit_analysis() / app.emit_dashboard(). The CLI calls this via the build_analysis / build_investigation_dashboard shims below.

Per the N.2 audit, Investigation is fed by the same institution YAML that drives L1 + L2FT. Z.C: the deployment + DB-table prefixes are required cfg fields — both come from cfg.deployment_name (QS-resource segment) and cfg.db_table_prefix (DB table-name prefix). Defaults to the persona-neutral spec_example L2 instance — the same default L1 uses.

Investigation-specific tables read from <db_table_prefix>_inv_* matviews (N.3.b); base-table reads use <db_table_prefix>_transactions.

Return type:

App

Parameters:
recon_gen.apps.investigation.app.build_investigation_dashboard(cfg, *, l2_instance=None)[source]

Tree-backed replacement for the imperative builder.

Return type:

Dashboard

Parameters: