Add versioned metric graph authority, owned browser evidence, paginated and all-tab traversal, deterministic sampling policies, and analyst-facing run inspection. Provision the DEV/PREPROD/PROD Superset, Gitea and million-row ClickHouse lab; retain reproducible lifecycle evidence and explicit incomplete-traversal limits.
117 lines
6.7 KiB
Python
117 lines
6.7 KiB
Python
#!/usr/bin/env python3
|
|
# #region Verification.FinanceMillion.Oracle [C:3] [TYPE Module] [SEMANTICS clickhouse,oracle,physical,verification]
|
|
# @BRIEF Compare independent live SELECT results to literal closed-form finance fixture expectations.
|
|
# @PRE Input is the separately executed read-only probe, not the seeder report.
|
|
# @INVARIANT Source counts do not prove browser page coverage or dashboard filter option completeness.
|
|
import json
|
|
import sys
|
|
|
|
COMMON = {'rows':1250000,'unique_ids':1250000,'min_id':1,'max_id':1250000,
|
|
'sum_ids':781250625000,'sum_squared_ids':651042447916875000}
|
|
SOURCE = {
|
|
'debt_source':{**COMMON,'sum_cents':13124375000,'weighted_cents':8202844479375000},
|
|
'ledger_source':{**COMMON,'sum_cents':6561875000,'weighted_cents':4101200885625000},
|
|
'debt_snapshot':{'rows':125000,'unique_ids':125000,'min_date':'2026-09-30','max_date':'2026-09-30',
|
|
'sales_debt':2624875000,'advance_debt':2624875000,'incoming':13124375000,
|
|
'outgoing':5249750000,'reserve_amount':2624875000,'overdue_amount':4374821670},
|
|
'cash_snapshot':{'rows':125000,'unique_ids':125000,'min_date':'2026-09-30','max_date':'2026-09-30',
|
|
'cash_in':3280937500,'cash_out':3280937500},
|
|
}
|
|
ENTITY_DEBT = [3280937500,3281250000,3281562500,3280625000]
|
|
ENTITY_LEDGER = [1640312500,1640625000,1640937500,1640000000]
|
|
ENTITY_SALES = [656187500,656250000,656312500,656125000]
|
|
ENTITY_CASH = [820156250,820312500,820468750,820000000]
|
|
BOUNDARY_IDS = [1,1000,125000,125001,625001,1250000]
|
|
BOUNDARY_CP = [1,1000,125000,1,1,125000]
|
|
BOUNDARY_BE = ['BE-1','BE-4','BE-4','BE-1','BE-1','BE-4']
|
|
BOUNDARY_DATES = ['2026-09-01','2026-09-10','2026-09-20','2026-09-21','2026-09-11','2026-09-20']
|
|
|
|
|
|
# #region Verification.FinanceMillion.Oracle.Rows [C:2] [TYPE Function]
|
|
def check_rows(actual, expected, label, failures):
|
|
if actual != expected:
|
|
failures.append({'check':label,'expected':expected,'actual':actual})
|
|
# #endregion Verification.FinanceMillion.Oracle.Rows
|
|
|
|
|
|
# #region Verification.FinanceMillion.Oracle.Entities [C:2] [TYPE Function]
|
|
def entity_rows(values, *, rows, field):
|
|
return [{'business_entity':f'BE-{i}', 'rows':rows, field:value} for i,value in enumerate(values,1)]
|
|
# #endregion Verification.FinanceMillion.Oracle.Entities
|
|
|
|
|
|
# #region Verification.FinanceMillion.Oracle.Check [C:4] [TYPE Function]
|
|
# @POST Any altered count, checksum, boundary, grouping or absent physical data refuses PASS.
|
|
def audit(report):
|
|
q = report.get('query_results', {})
|
|
failures = []
|
|
for name,expected in SOURCE.items():
|
|
check_rows(q.get(name), [expected], name, failures)
|
|
check_rows(q.get('debt_kinds'), [{'debt_kind':k,'rows':250000,'cents':2624875000}
|
|
for k in ['advance','interest','other','reserve','sales']], 'debt_kinds', failures)
|
|
check_rows(q.get('movement_kinds'), [{'movement_kind':k,'rows':625000,'cents':3280937500}
|
|
for k in ['incoming','outgoing']], 'movement_kinds', failures)
|
|
for name,values,rows,field in [('debt_entities',ENTITY_DEBT,312500,'cents'),
|
|
('ledger_entities',ENTITY_LEDGER,312500,'cents'),
|
|
('debt_snapshot_entities',ENTITY_SALES,31250,'sales_debt')]:
|
|
check_rows(q.get(name), entity_rows(values, rows=rows, field=field), name, failures)
|
|
check_rows(q.get('cash_snapshot_entities'), [{'business_entity':f'BE-{i}','rows':31250,
|
|
'cash_in':v,'cash_out':v} for i,v in enumerate(ENTITY_CASH,1)],'cash_snapshot_entities',failures)
|
|
for name,column in [('debt_dates','position_date'),('ledger_dates','movement_date')]:
|
|
check_rows(q.get(name),[{column:f'2026-09-{i:02d}','rows':41667 if i<=20 else 41666}
|
|
for i in range(1,31)],name,failures)
|
|
check_rows(q.get('debt_statuses'), [{'party_status':'current','rows':41667,'overdue_amount':0},
|
|
{'party_status':'overdue','rows':41667,'overdue_amount':4374821670},
|
|
{'party_status':'settled','rows':41666,'overdue_amount':0}], 'debt_statuses', failures)
|
|
check_rows(q.get('receivables_variants'), [{'metric_selector':v,'rows':125000,'parties':125000,
|
|
'cents':2624875000} for v in ['advance_debt','sales_debt']], 'receivables_variants', failures)
|
|
_check_boundaries(q, failures)
|
|
_check_physical(q, failures)
|
|
return {'status':'FAIL' if failures else 'PASS','failures':failures,
|
|
'scope':'Physical source and synthetic finance formula oracle only; UI traversal/public lifecycle excluded',
|
|
'raw_rows_per_dataset':1250000,'datasets':2}
|
|
# #endregion Verification.FinanceMillion.Oracle.Check
|
|
|
|
|
|
# #region Verification.FinanceMillion.Oracle.Boundary [C:3] [TYPE Function]
|
|
def _check_boundaries(q, failures):
|
|
common = [{'row_id':r,'counterparty_id':c,'business_entity':b}
|
|
for r,c,b in zip(BOUNDARY_IDS,BOUNDARY_CP,BOUNDARY_BE)]
|
|
debt = [{**base,'position_date':d,'debt_kind':k,'status':s,'amount_cents':a}
|
|
for base,d,k,s,a in zip(common,BOUNDARY_DATES,
|
|
['sales','sales','sales','advance','sales','other'],
|
|
['current','current','overdue','current','current','overdue'],
|
|
[10001,10000,10000,10001,10001,10000])]
|
|
cash = [{**base,'movement_date':d,'movement_kind':k,'payment_cents':a}
|
|
for base,d,k,a in zip(common,BOUNDARY_DATES,
|
|
['incoming','incoming','incoming','outgoing','outgoing','outgoing'],
|
|
[5001,5000,5000,5001,5001,5000])]
|
|
check_rows(q.get('debt_boundary_rows'),debt,'debt_boundary_rows',failures)
|
|
check_rows(q.get('ledger_boundary_rows'),cash,'ledger_boundary_rows',failures)
|
|
# #endregion Verification.FinanceMillion.Oracle.Boundary
|
|
|
|
|
|
# #region Verification.FinanceMillion.Oracle.Physical [C:3] [TYPE Function]
|
|
def _check_physical(q, failures):
|
|
names={'finance_positions':1250000,'ledger_movements':1250000,
|
|
'counterparty_debt_snapshot':125000,'counterparty_cash_snapshot':125000}
|
|
storage = {r['name']:r for r in q.get('physical_storage',[])}
|
|
parts = {r['table']:r for r in q.get('active_parts',[])}
|
|
for name,count in names.items():
|
|
s,p = storage.get(name,{}),parts.get(name,{})
|
|
if s.get('engine')!='MergeTree' or s.get('total_rows')!=count or p.get('rows')!=count or p.get('bytes_on_disk',0)<=0:
|
|
failures.append({'check':'physical:'+name,'expected_rows':count,'storage':s,'parts':p})
|
|
# #endregion Verification.FinanceMillion.Oracle.Physical
|
|
|
|
|
|
# #region Verification.FinanceMillion.Oracle.Main [C:2] [TYPE Function]
|
|
def main():
|
|
result=audit(json.load(open(sys.argv[1])))
|
|
print(json.dumps(result,ensure_ascii=False,indent=2))
|
|
return int(result['status']!='PASS')
|
|
# #endregion Verification.FinanceMillion.Oracle.Main
|
|
|
|
if __name__=='__main__':
|
|
raise SystemExit(main())
|
|
# #endregion Verification.FinanceMillion.Oracle
|