LICENSE
README.md
pyproject.toml
src/recon_gen/__init__.py
src/recon_gen/__main__.py
src/recon_gen/_build_info.py
src/recon_gen/main.py
src/recon_gen/mkdocs.yml
src/recon_gen/py.typed
src/recon_gen.egg-info/PKG-INFO
src/recon_gen.egg-info/SOURCES.txt
src/recon_gen.egg-info/dependency_links.txt
src/recon_gen.egg-info/entry_points.txt
src/recon_gen.egg-info/requires.txt
src/recon_gen.egg-info/top_level.txt
src/recon_gen/_l2_fixtures/sasquatch_pr.yaml
src/recon_gen/_l2_fixtures/spec_example.yaml
src/recon_gen/apps/__init__.py
src/recon_gen/apps/executives/__init__.py
src/recon_gen/apps/executives/app.py
src/recon_gen/apps/executives/datasets.py
src/recon_gen/apps/investigation/__init__.py
src/recon_gen/apps/investigation/app.py
src/recon_gen/apps/investigation/constants.py
src/recon_gen/apps/investigation/datasets.py
src/recon_gen/apps/l1_dashboard/__init__.py
src/recon_gen/apps/l1_dashboard/app.py
src/recon_gen/apps/l1_dashboard/datasets.py
src/recon_gen/apps/l2_flow_tracing/__init__.py
src/recon_gen/apps/l2_flow_tracing/app.py
src/recon_gen/apps/l2_flow_tracing/datasets.py
src/recon_gen/cli/__init__.py
src/recon_gen/cli/_app_builders.py
src/recon_gen/cli/_helpers.py
src/recon_gen/cli/_html_serve.py
src/recon_gen/cli/dashboards.py
src/recon_gen/cli/data.py
src/recon_gen/cli/docs.py
src/recon_gen/cli/json.py
src/recon_gen/cli/schema.py
src/recon_gen/cli/studio.py
src/recon_gen/cli/audit/__init__.py
src/recon_gen/cli/audit/_period.py
src/recon_gen/cli/audit/markdown.py
src/recon_gen/cli/audit/pdf.py
src/recon_gen/common/__init__.py
src/recon_gen/common/aging.py
src/recon_gen/common/as_of_frame.py
src/recon_gen/common/cleanup.py
src/recon_gen/common/config.py
src/recon_gen/common/dataset_contract.py
src/recon_gen/common/datasource.py
src/recon_gen/common/db.py
src/recon_gen/common/deploy.py
src/recon_gen/common/drill.py
src/recon_gen/common/env_keys.py
src/recon_gen/common/etl.py
src/recon_gen/common/etl_examples.py
src/recon_gen/common/ids.py
src/recon_gen/common/intervals.py
src/recon_gen/common/models.py
src/recon_gen/common/money.py
src/recon_gen/common/picker_datasets.py
src/recon_gen/common/probe.py
src/recon_gen/common/provenance.py
src/recon_gen/common/rich_text.py
src/recon_gen/common/snapshotter.py
src/recon_gen/common/theme.py
src/recon_gen/common/variant.py
src/recon_gen/common/browser/__init__.py
src/recon_gen/common/browser/helpers.py
src/recon_gen/common/browser/screenshot.py
src/recon_gen/common/handbook/__init__.py
src/recon_gen/common/handbook/coverage_matrix.py
src/recon_gen/common/handbook/diagrams.py
src/recon_gen/common/handbook/invariants.py
src/recon_gen/common/handbook/l2_triage_gaps.py
src/recon_gen/common/handbook/l2ft_exceptions.py
src/recon_gen/common/handbook/trainer_cards.py
src/recon_gen/common/handbook/violations.py
src/recon_gen/common/handbook/vocabulary.py
src/recon_gen/common/html/__init__.py
src/recon_gen/common/html/__main__.py
src/recon_gen/common/html/_components.py
src/recon_gen/common/html/_data_shape.py
src/recon_gen/common/html/_db_fetcher.py
src/recon_gen/common/html/_delete_confirm.py
src/recon_gen/common/html/_plant_banner.py
src/recon_gen/common/html/_role_cardinality.py
src/recon_gen/common/html/_side_panel.py
src/recon_gen/common/html/_smoke_app.py
src/recon_gen/common/html/_sql_executor.py
src/recon_gen/common/html/_studio_editor_routes.py
src/recon_gen/common/html/_studio_routes.py
src/recon_gen/common/html/_studio_training.py
src/recon_gen/common/html/_studio_training_v2.py
src/recon_gen/common/html/_studio_training_v3.py
src/recon_gen/common/html/_theme_editor_bx9.py
src/recon_gen/common/html/_tree_fetcher.py
src/recon_gen/common/html/_tree_filter_specs.py
src/recon_gen/common/html/_visual_sql.py
src/recon_gen/common/html/render.py
src/recon_gen/common/html/server.py
src/recon_gen/common/html/_studio_assets/chain-shape-preview.js
src/recon_gen/common/html/_studio_assets/diagram-svg.css
src/recon_gen/common/html/_studio_assets/diagram.js
src/recon_gen/common/html/_studio_assets/duration-picker.js
src/recon_gen/common/html/_studio_assets/mini-diagram.js
src/recon_gen/common/html/_studio_assets/tw_classes.py
src/recon_gen/common/html/assets/input.css
src/recon_gen/common/html/assets/output.css
src/recon_gen/common/html/assets/widgets-theme.css
src/recon_gen/common/html/assets/js/bootstrap.js
src/recon_gen/common/html/assets/js/dev_log.js
src/recon_gen/common/html/assets/js/sortable.min.js
src/recon_gen/common/html/assets/vendor/vendor.lock
src/recon_gen/common/html/assets/vendor/css/flatpickr.min.css
src/recon_gen/common/html/assets/vendor/css/nouislider.min.css
src/recon_gen/common/html/assets/vendor/css/tom-select.min.css
src/recon_gen/common/html/assets/vendor/js/ctxmenu.min.js
src/recon_gen/common/html/assets/vendor/js/d3-sankey.min.js
src/recon_gen/common/html/assets/vendor/js/d3.min.js
src/recon_gen/common/html/assets/vendor/js/flatpickr.min.js
src/recon_gen/common/html/assets/vendor/js/htmx.min.js
src/recon_gen/common/html/assets/vendor/js/nouislider.min.js
src/recon_gen/common/html/assets/vendor/js/tom-select.complete.min.js
src/recon_gen/common/l2/__init__.py
src/recon_gen/common/l2/auto_scenario.py
src/recon_gen/common/l2/cache.py
src/recon_gen/common/l2/config_table.py
src/recon_gen/common/l2/contract.py
src/recon_gen/common/l2/coverage.py
src/recon_gen/common/l2/demo_etl_gaps.py
src/recon_gen/common/l2/deploy_pipeline.py
src/recon_gen/common/l2/derived.py
src/recon_gen/common/l2/editor.py
src/recon_gen/common/l2/loader.py
src/recon_gen/common/l2/migrate_mark.py
src/recon_gen/common/l2/pipeline_overlays.py
src/recon_gen/common/l2/plant_registry.py
src/recon_gen/common/l2/primitives.py
src/recon_gen/common/l2/probe.py
src/recon_gen/common/l2/schema.py
src/recon_gen/common/l2/seed.py
src/recon_gen/common/l2/serializer.py
src/recon_gen/common/l2/studio_state.py
src/recon_gen/common/l2/tg_cache.py
src/recon_gen/common/l2/theme.py
src/recon_gen/common/l2/topology.py
src/recon_gen/common/l2/trainer.py
src/recon_gen/common/l2/trainer_timeline.py
src/recon_gen/common/l2/triage.py
src/recon_gen/common/l2/v_overlay.py
src/recon_gen/common/l2/validate.py
src/recon_gen/common/parity/__init__.py
src/recon_gen/common/parity/breaks.py
src/recon_gen/common/parity/emitter.py
src/recon_gen/common/pdf/__init__.py
src/recon_gen/common/pdf/audit_chrome.py
src/recon_gen/common/pdf/signing.py
src/recon_gen/common/sheets/__init__.py
src/recon_gen/common/sheets/app_info.py
src/recon_gen/common/spine/__init__.py
src/recon_gen/common/spine/_db.py
src/recon_gen/common/spine/_emit_helpers.py
src/recon_gen/common/spine/account_simulation.py
src/recon_gen/common/spine/anomaly.py
src/recon_gen/common/spine/anomaly_view.py
src/recon_gen/common/spine/chain_completion.py
src/recon_gen/common/spine/chain_parent_disagreement.py
src/recon_gen/common/spine/drift.py
src/recon_gen/common/spine/dry_run_renderer.py
src/recon_gen/common/spine/expected_eod.py
src/recon_gen/common/spine/failed_transaction.py
src/recon_gen/common/spine/fan_in_disagreement.py
src/recon_gen/common/spine/generator.py
src/recon_gen/common/spine/inv_fanout.py
src/recon_gen/common/spine/invariant.py
src/recon_gen/common/spine/ledger_simulation.py
src/recon_gen/common/spine/limit_breach.py
src/recon_gen/common/spine/money_trail.py
src/recon_gen/common/spine/multi_xor_violation.py
src/recon_gen/common/spine/overdraft.py
src/recon_gen/common/spine/plant_adapter.py
src/recon_gen/common/spine/rail_firing.py
src/recon_gen/common/spine/registry.py
src/recon_gen/common/spine/rng.py
src/recon_gen/common/spine/scenario_context.py
src/recon_gen/common/spine/semantic_lock.py
src/recon_gen/common/spine/semantic_lock_json.py
src/recon_gen/common/spine/stuck_pending.py
src/recon_gen/common/spine/stuck_unbundled.py
src/recon_gen/common/spine/supersession.py
src/recon_gen/common/spine/training.py
src/recon_gen/common/spine/transfer_template.py
src/recon_gen/common/spine/two_template_chain.py
src/recon_gen/common/spine/violation.py
src/recon_gen/common/spine/xor_group_violation.py
src/recon_gen/common/sql/__init__.py
src/recon_gen/common/sql/app2_filters.py
src/recon_gen/common/sql/dialect.py
src/recon_gen/common/sql/display_labels.py
src/recon_gen/common/sql/intervals.py
src/recon_gen/common/sql/literals.py
src/recon_gen/common/sql/money.py
src/recon_gen/common/tree/__init__.py
src/recon_gen/common/tree/_helpers.py
src/recon_gen/common/tree/actions.py
src/recon_gen/common/tree/app2_parity_registry.py
src/recon_gen/common/tree/calc_fields.py
src/recon_gen/common/tree/controls.py
src/recon_gen/common/tree/datasets.py
src/recon_gen/common/tree/date_view.py
src/recon_gen/common/tree/fields.py
src/recon_gen/common/tree/filters.py
src/recon_gen/common/tree/formatting.py
src/recon_gen/common/tree/parameters.py
src/recon_gen/common/tree/structure.py
src/recon_gen/common/tree/text_boxes.py
src/recon_gen/common/tree/visuals.py
src/recon_gen/docs/L1_Invariants.md
src/recon_gen/docs/L2FT_Exceptions.md
src/recon_gen/docs/L2_Triage_Gaps.md
src/recon_gen/docs/SPEC.md
src/recon_gen/docs/Schema_v6.md
src/recon_gen/docs/index.md
src/recon_gen/docs/_diagrams/conceptual/double-entry.dot
src/recon_gen/docs/_diagrams/conceptual/escrow-with-reversal.dot
src/recon_gen/docs/_diagrams/conceptual/eventual-consistency.dot
src/recon_gen/docs/_diagrams/conceptual/open-vs-closed-loop.dot
src/recon_gen/docs/_diagrams/conceptual/sweep-net-settle.dot
src/recon_gen/docs/_diagrams/conceptual/vouchering.dot
src/recon_gen/docs/_handbook_per_sheet/_glossary.md
src/recon_gen/docs/_handbook_per_sheet/_template.md
src/recon_gen/docs/_handbook_per_sheet/_shared/app-info.md
src/recon_gen/docs/_handbook_per_sheet/executives/account-coverage.md
src/recon_gen/docs/_handbook_per_sheet/executives/getting-started.md
src/recon_gen/docs/_handbook_per_sheet/executives/money-moved.md
src/recon_gen/docs/_handbook_per_sheet/executives/program-health.md
src/recon_gen/docs/_handbook_per_sheet/executives/transaction-volume.md
src/recon_gen/docs/_handbook_per_sheet/investigation/account-network.md
src/recon_gen/docs/_handbook_per_sheet/investigation/anomalies.md
src/recon_gen/docs/_handbook_per_sheet/investigation/fanout.md
src/recon_gen/docs/_handbook_per_sheet/investigation/getting-started.md
src/recon_gen/docs/_handbook_per_sheet/investigation/money-trail.md
src/recon_gen/docs/_handbook_per_sheet/l1/daily-statement.md
src/recon_gen/docs/_handbook_per_sheet/l1/drift-timelines.md
src/recon_gen/docs/_handbook_per_sheet/l1/drift.md
src/recon_gen/docs/_handbook_per_sheet/l1/exceptions.md
src/recon_gen/docs/_handbook_per_sheet/l1/getting-started.md
src/recon_gen/docs/_handbook_per_sheet/l1/limit-breach.md
src/recon_gen/docs/_handbook_per_sheet/l1/metadata-popup.md
src/recon_gen/docs/_handbook_per_sheet/l1/overdraft.md
src/recon_gen/docs/_handbook_per_sheet/l1/pending-aging.md
src/recon_gen/docs/_handbook_per_sheet/l1/supersession-audit.md
src/recon_gen/docs/_handbook_per_sheet/l1/transactions.md
src/recon_gen/docs/_handbook_per_sheet/l1/unbundled-aging.md
src/recon_gen/docs/_handbook_per_sheet/l2-editor/bundles-activity.md
src/recon_gen/docs/_handbook_per_sheet/l2-editor/chain-children.md
src/recon_gen/docs/_handbook_per_sheet/l2-editor/completion-expression.md
src/recon_gen/docs/_handbook_per_sheet/l2-editor/leg-rail-xor-groups.md
src/recon_gen/docs/_handbook_per_sheet/l2-editor/max-unbundled-age.md
src/recon_gen/docs/_handbook_per_sheet/l2-editor/metadata-keys.md
src/recon_gen/docs/_handbook_per_sheet/l2-editor/transfer-key.md
src/recon_gen/docs/_handbook_per_sheet/l2ft/chains.md
src/recon_gen/docs/_handbook_per_sheet/l2ft/getting-started.md
src/recon_gen/docs/_handbook_per_sheet/l2ft/l2-exceptions.md
src/recon_gen/docs/_handbook_per_sheet/l2ft/rails.md
src/recon_gen/docs/_handbook_per_sheet/l2ft/transfer-templates.md
src/recon_gen/docs/_macros/README.md
src/recon_gen/docs/concepts/index.md
src/recon_gen/docs/concepts/accounting/double-entry.md
src/recon_gen/docs/concepts/accounting/escrow-with-reversal.md
src/recon_gen/docs/concepts/accounting/eventual-consistency.md
src/recon_gen/docs/concepts/accounting/index.md
src/recon_gen/docs/concepts/accounting/open-vs-closed-loop.md
src/recon_gen/docs/concepts/accounting/sweep-net-settle.md
src/recon_gen/docs/concepts/accounting/vouchering.md
src/recon_gen/docs/concepts/l2/account-template.md
src/recon_gen/docs/concepts/l2/account.md
src/recon_gen/docs/concepts/l2/chain.md
src/recon_gen/docs/concepts/l2/index.md
src/recon_gen/docs/concepts/l2/limit-schedule.md
src/recon_gen/docs/concepts/l2/rail.md
src/recon_gen/docs/concepts/l2/transfer-template.md
src/recon_gen/docs/for-your-role/compliance-analyst.md
src/recon_gen/docs/for-your-role/etl-engineer.md
src/recon_gen/docs/for-your-role/executive.md
src/recon_gen/docs/for-your-role/index.md
src/recon_gen/docs/for-your-role/integrator.md
src/recon_gen/docs/for-your-role/operator.md
src/recon_gen/docs/handbook/audit.md
src/recon_gen/docs/handbook/customization.md
src/recon_gen/docs/handbook/etl-hook.md
src/recon_gen/docs/handbook/etl.md
src/recon_gen/docs/handbook/executives.md
src/recon_gen/docs/handbook/investigation.md
src/recon_gen/docs/handbook/l1.md
src/recon_gen/docs/handbook/l2_flow_tracing.md
src/recon_gen/docs/handbook/seed-generator.md
src/recon_gen/docs/img/favicon.svg
src/recon_gen/docs/img/snb-mark.svg
src/recon_gen/docs/img/snb-wordmark.svg
src/recon_gen/docs/reference/cli.md
src/recon_gen/docs/reference/disable-tagging.md
src/recon_gen/docs/reference/index.md
src/recon_gen/docs/reference/install.md
src/recon_gen/docs/reference/quicksight-quirks.md
src/recon_gen/docs/reference/self-host.md
src/recon_gen/docs/reference/fixtures/spec_example.yaml
src/recon_gen/docs/scenario/accounts.md
src/recon_gen/docs/scenario/chains.md
src/recon_gen/docs/scenario/index.md
src/recon_gen/docs/scenario/limit-schedules.md
src/recon_gen/docs/scenario/rails.md
src/recon_gen/docs/scenario/transfer-templates.md
src/recon_gen/docs/stylesheets/qs-graphviz-wasm.js
src/recon_gen/docs/stylesheets/qs-lightbox.js
src/recon_gen/docs/stylesheets/site.css
src/recon_gen/docs/stylesheets/wasm-graphviz/index.js
src/recon_gen/docs/walkthroughs/index.md
src/recon_gen/docs/walkthroughs/customization/how-do-i-add-a-metadata-key.md
src/recon_gen/docs/walkthroughs/customization/how-do-i-add-an-aml-inbound-cap.md
src/recon_gen/docs/walkthroughs/customization/how-do-i-add-multi-mode-settlement.md
src/recon_gen/docs/walkthroughs/customization/how-do-i-author-a-new-app-on-the-tree.md
src/recon_gen/docs/walkthroughs/customization/how-do-i-brand-my-handbook-prose.md
src/recon_gen/docs/walkthroughs/customization/how-do-i-chain-two-templates.md
src/recon_gen/docs/walkthroughs/customization/how-do-i-configure-the-deploy.md
src/recon_gen/docs/walkthroughs/customization/how-do-i-extend-canonical-values.md
src/recon_gen/docs/walkthroughs/customization/how-do-i-map-my-database.md
src/recon_gen/docs/walkthroughs/customization/how-do-i-mix-cardinality-children.md
src/recon_gen/docs/walkthroughs/customization/how-do-i-model-batched-payouts.md
src/recon_gen/docs/walkthroughs/customization/how-do-i-publish-docs-against-my-l2.md
src/recon_gen/docs/walkthroughs/customization/how-do-i-reskin-the-dashboards.md
src/recon_gen/docs/walkthroughs/customization/how-do-i-run-my-first-deploy.md
src/recon_gen/docs/walkthroughs/customization/how-do-i-set-typical-amount-ranges.md
src/recon_gen/docs/walkthroughs/customization/how-do-i-set-typical-firing-counts.md
src/recon_gen/docs/walkthroughs/customization/how-do-i-swap-dataset-sql.md
src/recon_gen/docs/walkthroughs/customization/how-do-i-test-my-customization.md
src/recon_gen/docs/walkthroughs/etl/how-do-i-add-a-metadata-key.md
src/recon_gen/docs/walkthroughs/etl/how-do-i-populate-daily-balances.md
src/recon_gen/docs/walkthroughs/etl/how-do-i-populate-transactions.md
src/recon_gen/docs/walkthroughs/etl/how-do-i-prove-my-etl-is-working.md
src/recon_gen/docs/walkthroughs/etl/how-do-i-tag-a-force-posted-transfer.md
src/recon_gen/docs/walkthroughs/etl/how-do-i-validate-a-single-account-day.md
src/recon_gen/docs/walkthroughs/etl/what-do-i-do-when-demo-passes-but-prod-fails.md
src/recon_gen/docs/walkthroughs/investigation/what-does-this-accounts-money-network-look-like.md
src/recon_gen/docs/walkthroughs/investigation/where-did-this-transfer-originate.md
src/recon_gen/docs/walkthroughs/investigation/which-pair-just-spiked.md
src/recon_gen/docs/walkthroughs/investigation/who-is-getting-money-from-too-many-senders.md
src/recon_gen/docs/walkthroughs/l1/daily-statement.md
src/recon_gen/docs/walkthroughs/l1/drift-timelines.md
src/recon_gen/docs/walkthroughs/l1/drift.md
src/recon_gen/docs/walkthroughs/l1/exceptions.md
src/recon_gen/docs/walkthroughs/l1/getting-started.md
src/recon_gen/docs/walkthroughs/l1/limit-breach.md
src/recon_gen/docs/walkthroughs/l1/overdraft.md
src/recon_gen/docs/walkthroughs/l1/pending-aging.md
src/recon_gen/docs/walkthroughs/l1/supersession-audit.md
src/recon_gen/docs/walkthroughs/l1/transactions.md
src/recon_gen/docs/walkthroughs/l1/unbundled-aging.md
src/recon_gen/docs/walkthroughs/screenshots/ar/daily-statement-01-clean.png
src/recon_gen/docs/walkthroughs/screenshots/ar/daily-statement-02-drift.png
src/recon_gen/docs/walkthroughs/screenshots/ar/daily-statement-03-overdraft.png
src/recon_gen/docs/walkthroughs/screenshots/ar/todays-exceptions-breakdown.png
src/recon_gen/docs/walkthroughs/screenshots/ar/todays-exceptions-filtered-ach-origination-non-zero.png
src/recon_gen/docs/walkthroughs/screenshots/ar/todays-exceptions-filtered-ach-sweep-no-fed-confirmation.png
src/recon_gen/docs/walkthroughs/screenshots/ar/todays-exceptions-filtered-concentration-master-sweep-drift.png
src/recon_gen/docs/walkthroughs/screenshots/ar/todays-exceptions-filtered-fed-card-no-internal-catchup.png
src/recon_gen/docs/walkthroughs/screenshots/ar/todays-exceptions-filtered-gl-vs-fed-master-drift.png
src/recon_gen/docs/walkthroughs/screenshots/ar/todays-exceptions-filtered-internal-reversal-uncredited.png
src/recon_gen/docs/walkthroughs/screenshots/ar/todays-exceptions-filtered-internal-transfer-suspense-non-zero.png
src/recon_gen/docs/walkthroughs/screenshots/ar/todays-exceptions-filtered-ledger-drift.png
src/recon_gen/docs/walkthroughs/screenshots/ar/todays-exceptions-filtered-non-zero-transfers.png
src/recon_gen/docs/walkthroughs/screenshots/ar/todays-exceptions-filtered-stuck-in-internal-transfer-suspense.png
src/recon_gen/docs/walkthroughs/screenshots/ar/todays-exceptions-filtered-sub-ledger-drift.png
src/recon_gen/docs/walkthroughs/screenshots/ar/todays-exceptions-filtered-sub-ledger-limit-breach.png
src/recon_gen/docs/walkthroughs/screenshots/ar/todays-exceptions-filtered-sub-ledger-overdraft.png
src/recon_gen/docs/walkthroughs/screenshots/ar/todays-exceptions-filtered-sweep-target-non-zero.png
src/recon_gen/docs/walkthroughs/screenshots/ar/todays-exceptions-overview.png
src/recon_gen/docs/walkthroughs/screenshots/ar/todays-exceptions-table.png
src/recon_gen/docs/walkthroughs/screenshots/ar/trends-aging-by-check.png
src/recon_gen/docs/walkthroughs/screenshots/ar/trends-drift-timelines.png
src/recon_gen/docs/walkthroughs/screenshots/ar/trends-expected-zero-rollup.png
src/recon_gen/docs/walkthroughs/screenshots/ar/trends-per-check-by-day.png
src/recon_gen/docs/walkthroughs/screenshots/ar/trends-two-sided-rollup.png
src/recon_gen/docs/walkthroughs/screenshots/exec/exec-sheet-account-coverage.png
src/recon_gen/docs/walkthroughs/screenshots/exec/exec-sheet-app-info.png
src/recon_gen/docs/walkthroughs/screenshots/exec/exec-sheet-getting-started.png
src/recon_gen/docs/walkthroughs/screenshots/exec/exec-sheet-money-moved.png
src/recon_gen/docs/walkthroughs/screenshots/exec/exec-sheet-transaction-volume.png
src/recon_gen/docs/walkthroughs/screenshots/inv/inv-sheet-account-network.png
src/recon_gen/docs/walkthroughs/screenshots/inv/inv-sheet-anomalies.png
src/recon_gen/docs/walkthroughs/screenshots/inv/inv-sheet-app-info.png
src/recon_gen/docs/walkthroughs/screenshots/inv/inv-sheet-fanout.png
src/recon_gen/docs/walkthroughs/screenshots/inv/inv-sheet-getting-started.png
src/recon_gen/docs/walkthroughs/screenshots/inv/inv-sheet-money-trail.png
src/recon_gen/docs/walkthroughs/screenshots/l1/l1-sheet-app-info.png
src/recon_gen/docs/walkthroughs/screenshots/l1/l1-sheet-daily-statement.png
src/recon_gen/docs/walkthroughs/screenshots/l1/l1-sheet-drift-timelines.png
src/recon_gen/docs/walkthroughs/screenshots/l1/l1-sheet-drift.png
src/recon_gen/docs/walkthroughs/screenshots/l1/l1-sheet-exceptions.png
src/recon_gen/docs/walkthroughs/screenshots/l1/l1-sheet-getting-started.png
src/recon_gen/docs/walkthroughs/screenshots/l1/l1-sheet-limit-breach.png
src/recon_gen/docs/walkthroughs/screenshots/l1/l1-sheet-overdraft.png
src/recon_gen/docs/walkthroughs/screenshots/l1/l1-sheet-pending-aging.png
src/recon_gen/docs/walkthroughs/screenshots/l1/l1-sheet-supersession-audit.png
src/recon_gen/docs/walkthroughs/screenshots/l1/l1-sheet-transactions.png
src/recon_gen/docs/walkthroughs/screenshots/l1/l1-sheet-unbundled-aging.png
src/recon_gen/docs/walkthroughs/screenshots/l2ft/l2ft-sheet-app-info.png
src/recon_gen/docs/walkthroughs/screenshots/l2ft/l2ft-sheet-chains.png
src/recon_gen/docs/walkthroughs/screenshots/l2ft/l2ft-sheet-getting-started.png
src/recon_gen/docs/walkthroughs/screenshots/l2ft/l2ft-sheet-l2-exceptions.png
src/recon_gen/docs/walkthroughs/screenshots/l2ft/l2ft-sheet-rails.png
src/recon_gen/docs/walkthroughs/screenshots/l2ft/l2ft-sheet-transfer-templates.png
src/recon_gen/docs/walkthroughs/screenshots/pr/did-all-merchants-get-paid-01-kpis.png
src/recon_gen/docs/walkthroughs/screenshots/pr/did-all-merchants-get-paid-02-settlements.png
src/recon_gen/docs/walkthroughs/screenshots/pr/how-much-did-we-return-01-kpi.png
src/recon_gen/docs/walkthroughs/screenshots/pr/how-much-did-we-return-02-table.png
src/recon_gen/docs/walkthroughs/screenshots/pr/how-much-did-we-return-03-aging.png
src/recon_gen/docs/walkthroughs/screenshots/pr/wheres-my-money-for-merchant-01-sales.png
src/recon_gen/docs/walkthroughs/screenshots/pr/wheres-my-money-for-merchant-02-settlements.png
src/recon_gen/docs/walkthroughs/screenshots/pr/wheres-my-money-for-merchant-03-payments.png
src/recon_gen/docs/walkthroughs/screenshots/pr/which-sales-never-made-it-to-settlement-01-kpi.png
src/recon_gen/docs/walkthroughs/screenshots/pr/which-sales-never-made-it-to-settlement-02-table.png
src/recon_gen/docs/walkthroughs/screenshots/pr/which-sales-never-made-it-to-settlement-03-aging.png
src/recon_gen/docs/walkthroughs/screenshots/pr/why-does-this-settlement-look-short-01-kpi.png
src/recon_gen/docs/walkthroughs/screenshots/pr/why-does-this-settlement-look-short-02-table.png
src/recon_gen/docs/walkthroughs/screenshots/pr/why-does-this-settlement-look-short-03-aging.png
src/recon_gen/docs/walkthroughs/screenshots/pr/why-doesnt-this-payment-match-the-settlement-01-kpi.png
src/recon_gen/docs/walkthroughs/screenshots/pr/why-doesnt-this-payment-match-the-settlement-02-table.png
src/recon_gen/docs/walkthroughs/screenshots/pr/why-doesnt-this-payment-match-the-settlement-03-aging.png
src/recon_gen/docs/walkthroughs/screenshots/pr/why-is-this-external-transaction-unmatched-01-kpis.png
src/recon_gen/docs/walkthroughs/screenshots/pr/why-is-this-external-transaction-unmatched-02-orphan.png
src/recon_gen/docs/walkthroughs/screenshots/pr/why-is-this-external-transaction-unmatched-03-drift.png