Finance OS
Read-only sync plan

Source sync plan

The connector runbook turns source readiness into replayable raw-record contracts before any calculation, approval, or close-lock workflow exists.

Phase 7 production hardening checkpoint
Read-only bundle for deployed cadence evidence, alert policy gating, Plaid/QBO policy gates, and future runtime-regression approval boundaries.
Blocked

Hardening checks

5/9

4 blocked

Alert delivery

policy_gated_no_delivery

No outbound notifications without channel approval.

Production policies

Plaid/QBO gated

policy_gated_sandbox_only · policy_gated_read_only_ingestion_only

Hardening hash

ee22d1e0e999

Latest: missing

CheckStatusEvidence hashBlocker
Deployed scheduled sync readiness checkpoint is current
deployed_scheduled_sync_readiness_current
blocked
n/aphase_7_scheduled_sync_readiness_not_current
Deployed source failure monitoring checkpoint is current
deployed_source_failure_monitoring_current
blocked
n/aphase_7_source_failure_monitoring_not_current
CSV fallback validation checkpoint is current
csv_fallback_validation_current
blocked
n/aphase_7_csv_fallback_validation_not_current
Phase 7 completion checkpoint is current
phase_7_completion_checkpoint_current
blocked
n/aphase_7_completion_checkpoint_not_current
Outbound alert delivery waits for approved channel policy
outbound_alert_delivery_policy_gated
ready
08cf067d0095None
Plaid production activation waits for policy approval
plaid_production_policy_gated
ready
08cf067d0095None
QBO export workflow waits for accounting policy approval
qbo_export_policy_gated
ready
08cf067d0095None
Runtime regression execution waits for explicit approval
runtime_regression_execution_policy_gated
ready
08cf067d0095None
External source writes remain blocked
external_writes_blocked
ready
08cf067d0095None
Read-only connectors

Every connector plan is scoped to GET/query/export operations only.

Idempotent raw records

Raw records dedupe by source system, object type, source ID, and payload hash.

No finance outputs

Source sync can stage evidence, but cannot calculate payouts or lock close periods.

XLSX publisher economics baseline
Import Finance spreadsheet rows as a historical benchmark for Phase 5 variance/backtest review.

Object type

publisher_month_baseline

0 runs / 0 raw rows

Authority

Backtest benchmark only

Spreadsheet rows explain historical variance but do not replace event-level spend.

Write boundary

Finance Supabase only

No Drive, bank, Stripe, QuickBooks, Plaid, or payment writes.

Accepted amount columns include `baseline_accrual`, `baseline_cash`, `baseline_deposit`, or microdollar equivalents. Duplicate period/publisher keys are surfaced before Phase 5 backtest signoff.

Phase 7 CSV fallback validation
Read-only checkpoint comparing Rho CSV cash rows with Plaid transaction samples before future bank-source fallback automation.
Blocked

Rho CSV rows

0

Hash 4f53cda18c2b

Plaid rows

0

Hash 4f53cda18c2b

Matched sample

0

0 unmatched Rho · 0 unmatched Plaid

Validation hash

2fb8144d6d9b

Variance 0µ · latest missing

CheckStatusEvidence hashBlocker
Rho CSV transactions are available
rho_csv_transactions_present
blocked
4f53cda18c2bphase_7_rho_csv_transactions_missing
Plaid sandbox transactions are available
plaid_transactions_present
blocked
4f53cda18c2bphase_7_plaid_transactions_missing
Rho and Plaid transaction samples reconcile
rho_plaid_match_coverage_ready
blocked
4f53cda18c2bphase_7_rho_plaid_match_coverage_blocked
Matched Rho/Plaid samples have no amount variance
rho_plaid_amount_variance_absent
blocked
4f53cda18c2bphase_7_rho_plaid_amount_variance_detected
CSV fallback validation remains read-only
csv_fallback_read_only_boundary
ready
4f53cda18c2bNone
Phase 7 source failure monitoring
Read-only checkpoint for scheduled sync failures, stale scheduleable evidence, and open high-severity Finance exceptions.
Blocked

Scheduled failures

2

1 skipped steps

Stale evidence

8

1 pending sources

High-severity exceptions

0

No open high/critical exceptions

Monitoring hash

2118969754e7

Latest: missing

CheckStatusEvidence hashBlocker
Scheduled sync readiness checkpoint is current
scheduled_sync_readiness_current
blocked
n/aphase_7_scheduled_sync_readiness_not_current
Latest scheduled sync has no failed or skipped steps
latest_scheduled_sync_has_no_failures
blocked
b6db29a41925phase_7_scheduled_sync_has_failures
Scheduleable sources have no stale or pending evidence
scheduleable_sources_have_no_stale_evidence
blocked
537f5d85b299phase_7_scheduleable_source_evidence_not_current
No open high-severity Finance exceptions
high_severity_exceptions_absent
ready
4f53cda18c2bNone
Failure monitoring remains read-only and audit-only
failure_monitoring_read_only_boundary
ready
b6db29a41925None
Phase 7 scheduled sync readiness
Read-only checkpoint proving daily unattended Phase 1 syncs are current before production automation hardening.
Blocked

Scheduled sync

failed

May 4, 9:56 PM

Scheduled connectors

2/6

2 failed / 1 skipped

Fresh source evidence

0/9

8 stale / 1 pending

Checkpoint hash

bd27c572bfe2

Latest: missing

CheckStatusEvidence hashBlocker
Latest scheduled sync succeeded
latest_scheduled_sync_succeeded
blocked
e708e9b23efdphase_7_scheduled_sync_not_succeeded
Scheduled connector coverage is complete
scheduled_connector_coverage_complete
blocked
e708e9b23efdphase_7_scheduled_connector_coverage_missing
Scheduled source freshness is ready
scheduled_source_freshness_ready
blocked
5f58faa85c14phase_7_scheduled_source_freshness_not_ready
Deploy verification checkpoint is verified
deploy_verification_checkpoint_verified
blocked
n/aphase_7_deploy_verification_not_verified
Scheduled sync writes remain Finance Supabase-only
finance_supabase_only_write_boundary
ready
e708e9b23efdNone
Manual connectors are excluded from unattended sync
manual_connectors_excluded
ready
e708e9b23efdNone
Phase 1 validation evidence
Per-source proof that raw ingestion has fresh sync runs, traceable rows, and idempotent raw-record keys before Phase 2 matching.
0/11 ready
SourceStatusLatest runRowsValidationEvidence
Google Drive
folder_inventory
Stale
May 10, 4:21 AM
SLA 2d
12 raw
3 sync runs / latest row count 12
Freshness Stale
Trace Ready
Idempotency Ready
12 raw rows across folder_inventory, publisher_contract_candidate, contract_text; latest folder_inventory run completed 2026-05-10T04:21:37.55+00:00.
Stripe
billing_snapshot
Stale
May 4, 9:56 PM
SLA 1d
0 raw
1 sync runs / latest row count 50
Freshness Stale
Trace Pending
Idempotency Pending
0 raw rows across stripe_customer, stripe_invoice, stripe_charge, stripe_payment_intent, stripe_balance_transaction, stripe_credit_note, stripe_customer_balance_transaction; latest billing_snapshot run completed 2026-05-04T21:56:41.588+00:00.
QuickBooks sandbox
accounting_snapshot
Stale
May 10, 4:23 AM
SLA 1d
0 raw
1 sync runs / latest row count 0
Freshness Stale
Trace Pending
Idempotency Pending
0 raw rows across quickbooks_company_info, quickbooks_account, quickbooks_customer, quickbooks_vendor, quickbooks_deposit, quickbooks_purchase, quickbooks_bill, quickbooks_journal_entry, quickbooks_invoice, quickbooks_payment; latest accounting_snapshot run completed 2026-05-10T04:23:58.389658+00:00.
Gravity canonical entities
gravity_canonical_entities
Stale
May 10, 4:13 AM
SLA 1d
0 raw
2 sync runs / latest row count 51
Freshness Stale
Trace Pending
Idempotency Pending
0 raw rows across gravity_canonical_entities; latest gravity_canonical_entities run completed 2026-05-10T04:13:58.645+00:00.
Gravity campaign advertisers
gravity_campaign_advertiser
Stale
May 10, 4:13 AM
SLA 1d
488 raw
2 sync runs / latest row count 1417
Freshness Stale
Trace Ready
Idempotency Ready
488 raw rows across gravity_campaign_advertiser; latest gravity_campaign_advertiser run completed 2026-05-10T04:13:58.984+00:00.
Gravity billing adjustments
gravity_billing_adjustment
Stale
May 10, 4:13 AM
SLA 1d
0 raw
2 sync runs / latest row count 85
Freshness Stale
Trace Pending
Idempotency Pending
0 raw rows across gravity_billing_adjustment; latest gravity_billing_adjustment run completed 2026-05-10T04:13:58.656+00:00.
Gravity advertiser billing
gravity_advertiser_billing
Stale
May 10, 4:13 AM
SLA 1d
0 raw
2 sync runs / latest row count 154
Freshness Stale
Trace Pending
Idempotency Pending
0 raw rows across gravity_advertiser_billing; latest gravity_advertiser_billing run completed 2026-05-10T04:13:58.727+00:00.
Redshift spend
publisher_spend_daily
Stale
May 10, 4:11 AM
SLA 1d
0 raw
1 sync runs / latest row count 351
Freshness Stale
Trace Pending
Idempotency Pending
0 raw rows across publisher_spend_daily, campaign_publisher_spend_daily; latest publisher_spend_daily run completed 2026-05-10T04:11:54.03+00:00.
Rho CSV
rho_cash_transaction
Stale
May 10, 4:23 AM
SLA 7d
0 raw
1 sync runs / latest row count 0
Freshness Stale
Trace Pending
Idempotency Pending
0 raw rows across rho_cash_transaction; latest rho_cash_transaction run completed 2026-05-10T04:23:58.389658+00:00.
XLSX publisher baseline
publisher_month_baseline
Pending
Not recorded
SLA 30d
0 raw
0 sync runs / latest row count n/a
Freshness Pending
Trace Pending
Idempotency Pending
No publisher_month_baseline sync run has been recorded yet.
Plaid sandbox
plaid_sandbox_snapshot
Pending
Not recorded
SLA 7d
0 raw
0 sync runs / latest row count n/a
Freshness Pending
Trace Pending
Idempotency Pending
No plaid_sandbox_snapshot sync run has been recorded yet.
Raw-record staging
Finance Supabase write path for idempotent source evidence before real connectors run.
Ready

Ready

Finance Supabase raw-record staging tables are reachable.

Recent sync runs

10

1 Rho / 0 XLSX baseline / 0 Plaid / 6 Gravity / 1 Redshift / 1 QBO / 1 Stripe / 3 Drive runs

Raw records

10

0 Rho / 0 XLSX baseline / 0 Plaid / 580 Gravity / 351 Redshift / 0 QBO / 50 Stripe / 34 Drive rows

Latest status

succeeded

May 10, 4:23 AM

Ingestion probe
Record one manual raw source record plus sync run and audit event.

This writes only Finance Supabase `source_sync_runs`, `raw_source_records`, and `finance_audit_events` rows. It does not call external sources.

Gravity raw ingestion
Read-only full snapshot staging for canonical publishers, campaign advertisers, billing adjustments, and advertiser billing state.

Canonical entities

gravity_canonical_entities

2 runs / 102 raw rows

Campaign advertisers

gravity_campaign_advertiser

2 runs / 2809 raw rows

Credits ledger

gravity_billing_adjustment

2 runs / 170 raw rows

Advertiser billing

gravity_advertiser_billing

2 runs / 308 raw rows

Snapshot scope

Full read-only Gravity funding snapshots

No latest-100 cap on advertiser billing or billing adjustment evidence used by Phase 4 classification.

Rho cash CSV import
Read-only cash movement fallback import by settlement/posting date for Phase 1 source evidence.

Object type

rho_cash_transaction

1 runs / 0 raw rows

Write boundary

Finance Supabase only

No bank/Plaid/Rho mutation or money movement

Plaid sandbox proof path
Feature-flagged sandbox-only read path for future production bank transaction sync.

Object types

plaid_item, plaid_account, plaid_transaction

0 runs / 0 raw rows

Feature flag

Sandbox only

Production Plaid remains blocked until explicitly approved

Redshift publisher spend ingestion
Read-only event-level publisher spend staging from `SUM(ad_impressions.price)` before any payout calculation.

Source system

redshift

Read-only Redshift Data API access

Object type

publisher_spend_daily

Daily publisher rows from event-level impressions

Write boundary

Finance Supabase only

No payouts, close locks, or source mutations

QuickBooks sandbox accounting ingestion
Read-only QBO sandbox snapshot staging for accounting, AR, vendor, and chart-of-accounts evidence.

Source system

quickbooks

Sandbox OAuth read-only API access

Object types

company, accounts, customers, vendors, deposits, purchases, bills, journals, invoices, payments

Accounting evidence before reconciliation

Write boundary

Finance Supabase only

No QuickBooks posting or invoice writes

Stripe billing ingestion
Read-only paginated Stripe snapshot staging for advertiser billing evidence before reconciliation or payouts.

Source system

stripe

Stripe API read-only key

Object types

customers, invoices, charges, payment intents, balance transactions, credit notes, customer balance transactions

Operational billing/payment evidence, paginated until Stripe reports has_more=false

Write boundary

Finance Supabase only

No Stripe mutations or invoice writes

Google Drive agreement ingestion
Read-only Drive inventory, text extraction hash, and publisher agreement candidate staging before human term approval.

Source system

google_drive

Drive API read-only scope

Object types

folder_inventory, publisher_contract_candidate, contract_text

3 inventories / 20 candidates / 11 text rows

Write boundary

Finance Supabase only

No Drive/source mutations

Connector readiness
6 of 7 planned connectors have runtime credentials present.
6/7 ready
OrderSourceStatusObjectsCursor strategy
1
Stripe
Stripe credential presence is configured at runtime.
Ready to plan
customers, invoices, charges, payment_intents, balance_transactions, credit_notes, customer_balance_transactionsCreated/updated timestamp windows plus Stripe object IDs for replay.
2
QuickBooks sandbox
QuickBooks sandbox credential presence is configured at runtime.
Ready to plan
company_info, accounts, customers, vendors, deposits, purchases, bills, journals, invoices, paymentsCDC/time-window reads where supported; otherwise scheduled snapshots with cursor metadata.
3
Google Drive
Google Drive credential presence is configured at runtime.
Ready to plan
folder_inventory, publisher_contract_candidate, contract_textNightly Drive folder inventory by page token/file modified time; file ID + revision/version anchor replay.
4
Plaid sandbox
Plaid sandbox credential is missing in this runtime; keep connector blocked.
Blocked
accounts, transactions, institutionsTransactions sync cursor when production is approved; sandbox remains integration proof.
5
Rho CSV
Rho CSV credential presence is configured at runtime.
Ready to plan
rho_cash_transactionOperator-provided CSV import with source filename and row number for replayable fallback.
6
Gravity prod database
Gravity prod database credential presence is configured at runtime.
Ready to plan
gravity_canonical_entities, gravity_campaign_advertiser, gravity_billing_adjustment, gravity_advertiser_billingRead-only SQL snapshots with explicit query version, source updated timestamp, and extraction timestamp.
7
Redshift
Redshift credential presence is configured at runtime.
Ready to plan
publisher_spend_daily, campaign_publisher_spend_daily, ad_clicks, engine_eventsPartitioned event windows by timestamp with replayable query boundaries.
Recent staged raw records
Latest manual ingestion probes proving the raw-record contract is writable and replayable.
SourceObjectSource IDPayload hashLast seen
google_drivepublisher_contract_candidate1VG6P7-v84xU7gsMxeAkx8y1djRZBAgzV2d56f995af0eMay 10, 4:21 AM
google_drivepublisher_contract_candidate17le55T6iXo7J_zxMeiqak9VyfKWCg5igc82ec0fc3e37May 10, 4:21 AM
google_drivecontract_text1r0qKCZfXsp64LpxVk1Shdi_B76V7Caq5:text:9f9cb05983e26abd89994c95b7e75eaf6d8fc0d69373a48b29e5b0ad2bb717c33521c5b274aeMay 10, 4:21 AM
google_drivepublisher_contract_candidate1EUlODT5L8Iv-xsASgGr_iwmU6wViehkL823e58fe46f6May 10, 4:21 AM
google_drivecontract_text1aB5oatDJd0YujHEuEomkvL8iehHKkpg5:text:16feb034cd6d7c380010f32ee50b9ec8c2142483ad3df4aa0109c7622b60fdf22e884f7f88adMay 10, 4:21 AM
google_drivefolder_inventorydrive-query:1ceb64ea1c70c0e5141e1bbae62130159988f0a04f3cd2dd6f4c9e289c7c77081ceb64ea1c70May 10, 4:21 AM
google_drivecontract_text1-CqoLdG2KwwfZVAKUnFvb2q9_JWQDdda:text:e7603ff57bc39b5a7ba503264847672ef0df2441ad57587ca6bfd4c85b2253d69aa7a069b4d6May 10, 4:21 AM
google_drivecontract_text1EUlODT5L8Iv-xsASgGr_iwmU6wViehkL:text:298470540f15436a95359470778599c84ddd203feefe15f6f05682d44325f4b174b9ae1b8e0bMay 10, 4:21 AM
google_drivecontract_text17le55T6iXo7J_zxMeiqak9VyfKWCg5ig:text:f3a1e3c6b31a5d71ccdf8e6037852e287a0bb537898f25b1e5c0654189a968a0c67ea0499f20May 10, 4:21 AM
google_drivepublisher_contract_candidate1-CqoLdG2KwwfZVAKUnFvb2q9_JWQDdda03e62dcc7afeMay 10, 4:21 AM
Raw-record contract
Every connector must stage evidence before future Finance OS workflows can depend on it.
SourceEvidence policyIdempotency key
StripeStore raw payload hash, source object ID, API version, and sync run ID before downstream use.source_system + object_type + source_id + payload_hash
QuickBooks sandboxPreserve QBO entity ID, sync token, last updated timestamp, and raw accounting payload.source_system + object_type + source_id + payload_hash
Google DriveStore folder inventory hash, file ID/name/MIME/version/revision/checksums, extracted text hash, and sync run ID before human term approval.source_system + object_type + source_id + payload_hash
Plaid sandboxStore Plaid account ID, transaction ID, pending/posted state, and payload hash.source_system + object_type + source_id + payload_hash
Rho CSVStore transaction ID/reference or row hash, source file name, row number, posting/settlement date, and payload hash.source_system + object_type + source_id + payload_hash
Gravity prod databaseStore canonical IDs, campaign advertiser joins, query name, query version, extraction timestamp, and row hash.source_system + object_type + source_id + payload_hash
RedshiftStore publisher/date and campaign/publisher/date rows from SUM(ad_impressions.price), query window, row counts, aggregate hashes, and source trace for spend verification/classification.source_system + object_type + source_id + payload_hash