#!/usr/bin/env python3
"""Keep common unsupported-input failure and classify unopened handlers as limited."""
import hashlib
import json
import subprocess
import sys
from pathlib import Path
import integrate_20261010 as tool
from integrate_20261011_batches46_48 import item

def verify():
    p = tool.ROOT.parent / 'worktrees/dm8-compat-20261012/private-prepay-harness/review-681-581-resume/verify.py'
    assert hashlib.sha256(p.read_bytes()).hexdigest() == '370cd5d0c6914d0830efdbf8031bee976268bcf4c21895039dee79cc92871d2e'
    r = json.loads(subprocess.check_output([sys.executable, '-B', str(p)]))
    assert r['pass'] and r['independent_checks'] == 1580 and r['author_original_checks'] == 7813
    assert r['DB'] == r['HTTP'] == 0 and r['581_supplement_C_original_slots'] == 12
    assert r['counts']['B']['all_SQL_including_fixture_DML'] == 141
    assert r['counts']['C']['all_SQL_including_fixture_DML'] == 185

if __name__ == '__main__':
    audit = Path(__file__).with_name('integration-20261013-setting-types.json')
    assert not audit.exists(), 'Never replay main'
    report = tool.AI + 'parallel-setting-types-20261013/ROOT_REVIEW.md'
    rows = [item('ai_api', method, '/terminal/setting/' + action, '', evidence=report, evidence_only=True)
            for method, action in [('POST', 'update'), ('GET', 'detail')]]
    for method, path in [('PUT', '/api/yingjiduo.user/update'), ('POST', '/api/yingjiduo.auth/faceLogin')]:
        rows.append(item('ai_api', method, path, '', evidence=report,
            mysql_state='partial-evidence-unopened-handler-and-shared-init-only',
            dm_state='partial-evidence-unopened-handler-and-shared-init-only',
            success_case='partial-evidence-limited-interface-not-open-response-not-business-success',
            readback='partial-evidence-owned-Store-and-logo-init-only-zero-business-write',
            parity='partial-evidence-limited-original-string-false-no-update-or-face-login-function'))
    tool.main(rows, audit, verify)
