import json, sqlite3, sys
from pathlib import Path
root=Path(sys.argv[1])
report={}
for side in ['base','head']:
 db=sqlite3.connect(f'file:{root}/{side}-home/userdata/statev2.sqlite?mode=ro',uri=True)
 db.row_factory=sqlite3.Row
 report[side]={
  'outbox':[dict(row) for row in db.execute("select rowid as row_number, effect_type, status, attempt_count, lease_owner is not null as has_lease_owner, lease_expires_at is not null as has_lease_expiry, last_error from orchestration_v2_effect_outbox order by rowid")],
  'runs':[dict(row) for row in db.execute('select ordinal,status from orchestration_v2_projection_runs order by ordinal')]
 }
print(json.dumps(report,indent=2))
