#!/usr/bin/env python3
"""One command's original empty preview, never a cleanup or HTTP pass."""
import csv
import hashlib
import io
import json
import subprocess
import sys
from pathlib import Path
import integrate_20261010 as tool

REPORT = tool.STORE + 'parallel-empty-cleanup961-20261013/ROOT_REVIEW.md'
KEY = 'store:OneCardInvalidAccountCleanup.php'

def verify():
    p = tool.ROOT.parent / 'worktrees/dm8-compat-20261012/private-prepay-harness/review-s3-961-empty-cleanup/verify_independent.py'
    assert hashlib.sha256(p.read_bytes()).hexdigest() == '9a1c4e1a9403fe34092a988581db940639e9715d9aa86c5cc25d518cebea7e25'
    r = json.loads(subprocess.check_output([sys.executable, '-B', str(p)]))
    assert r['passed'] and r['checks'] == 281 and r['target_CLI_original'] == 2
    assert r['SQL_attempts_original'] == 46 and not r['nonempty_cleanup_tested']
    assert r['new_SQL'] == r['new_HTTP'] == r['new_business_CLI'] == r['DML'] == r['new_rows'] == 0
    subprocess.check_call(['git', '-C', str(tool.source_root('store')), 'merge-base', '--is-ancestor',
        '1ece999a95f382f7f1a0ffc8874b6bb14f6afcb9', 'develop_dameng'])

if __name__ == '__main__':
    audit = Path(__file__).with_name('integration-20261013-empty-cleanup.json')
    assert not audit.exists(), 'Never replay main'
    verify()
    assert (tool.ROOT / REPORT).is_file()
    headers, rows, raw = tool.read_csv(tool.COVERAGE)
    selected = [r for r in rows if r['kind'] == 'command' and r['repo'] == 'store' and r['route_or_command'] == KEY]
    assert len(selected) == 1
    row = selected[0]; old = dict(row)
    row.update(risk='exact-new-empty-marker-readonly-preview-no-apply-no-funds',
        db_access_review='original-full-think-Command-Service-one-scoped-empty-SELECT',
        mysql_http_or_command='partial-evidence-limited-original-full-think-empty-preview-only',
        dm_http_or_command='partial-evidence-limited-original-full-think-empty-preview-only',
        database_readback='partial-evidence-true-empty-target-and-independent-before-after-count0-no-nonempty-cleanup',
        external_stub='real-network-denied-no-external-called', evidence=tool.append_evidence(row['evidence'], REPORT))
    out = io.StringIO(newline='')
    writer = csv.DictWriter(out, fieldnames=headers, lineterminator='\r\n' if b'\r\n' in raw else '\n')
    writer.writeheader(); writer.writerows(rows); new = out.getvalue().encode()
    assert tool.COVERAGE.read_bytes() == raw, 'Concurrent matrix writer'
    tool.COVERAGE.write_bytes(new)
    audit.write_text(json.dumps({'command': KEY, 'old_row': old, 'evidence': REPORT, 'HTTP_increment': 0,
        'before_sha256': hashlib.sha256(raw).hexdigest(), 'after_sha256': hashlib.sha256(new).hexdigest(),
        'nonempty_cleanup_tested': False}, ensure_ascii=False, indent=2) + '\n')
    print(json.dumps({'updated_command': KEY, 'HTTP_increment': 0, 'limited_empty_only': True}))
