recon_gen.apps.l1_dashboard.app
L1 Dashboard — generic L2-fed reconciliation dashboard.
Tree-built from scratch around the M.1a.7 L1 invariant views. Replaces the v5 idiom translation layer (apps/account_recon/_l2_datasets.py) with direct view consumption — each sheet IS one L1 SHOULD-constraint visualized.
Architecture (M.2a.1 decision): parallel-stack with the legacy apps/account_recon/ — the v5 AR app keeps working against its v5 schema deployment until M.2a.10 deprecates it. The L1 dashboard builds fresh tree-built sheets against the v6 prefixed schema + L1 invariant views per L2 instance, with no v5-idiom column shims.
- Build pipeline:
build_l1_dashboard_app(cfg, *, l2_instance=None) -> App
Default L2 instance is the canonical Sasquatch AR fixture (same as the AR legacy stack); callers MAY override (tests, alternative-persona deployments) via the kwarg.
- Substep landmarks:
M.2a.1 — package skeleton + Analysis + Dashboard registered M.2a.2 — Getting Started sheet with description-driven prose M.2a.3 — Drift sheet — KPIs + leaf + ledger drift tables M.2a.4 — Overdraft sheet — KPI + violations table M.2a.5 — Limit Breach sheet — KPI + breach table M.2a.6 — L1 Exceptions sheet — UNION across L1 views M.2a.7 — Description-driven prose across every sheet (this commit) M.2a.8 — Hash-lock the seed at the M.2a structure M.2a.9 — Deploy + verify against Aurora M.2a.10 — Iteration gate; decide on apps/account_recon/ deprecation
Functions
|
Build the complete L1 Dashboard Analysis resource via the tree. |
|
Construct the L1 Reconciliation Dashboard App as a tree. |
|
Build the L1 Dashboard Dashboard resource via the tree. |
- recon_gen.apps.l1_dashboard.app.build_analysis(cfg, *, l2_instance=None)[source]
Build the complete L1 Dashboard Analysis resource via the tree.
Forwards
l2_instancetobuild_l1_dashboard_app; default behaviour (unset) auto-loads the canonical Sasquatch AR L2 fixture. Return type is the AWS-shape Analysis dataclass from common.models.- Parameters:
cfg (Config)
l2_instance (L2Instance | None)
- recon_gen.apps.l1_dashboard.app.build_l1_dashboard_app(cfg, *, l2_instance=None)[source]
Construct the L1 Reconciliation Dashboard App as a tree.
M.2a.3: registers Analysis + Dashboard + Getting Started + Drift sheets, plus the 2 L1 invariant datasets (drift + ledger_drift). Substeps M.2a.4-M.2a.6 add the remaining per-invariant sheets (Overdraft, Limit Breach, L1 Exceptions). Each sheet IS one L1 SHOULD-constraint visualized via the M.1a.7 invariant views.
Dashboard ID convention:
<deployment_name>-l1-dashboard(Z.C) —cfg.deployment_nameis the operator-set per-deployment namespace that lets N apps (L1, PR, Exec) deploy against the same L2 instance, AND the same app deploy against N L2 instances, all in one QS account without collision. The cfg arrives fully populated (deployment_name+db_table_prefixare required cfg fields); no auto-stamping dance.- Return type:
- Parameters:
cfg (Config)
l2_instance (L2Instance | None)
- recon_gen.apps.l1_dashboard.app.build_l1_dashboard_dashboard(cfg, *, l2_instance=None)[source]
Build the L1 Dashboard Dashboard resource via the tree.
- Parameters:
cfg (Config)
l2_instance (L2Instance | None)