#!/usr/bin/env python3
"""Record two observed original errors, without claiming functional compatibility."""
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 = Path('/private/tmp/cdx-ai-hk-course-b.Kmdirn/review-s2-841-nutritionlack/verify_review.py')
    assert hashlib.sha256(p.read_bytes()).hexdigest() == '28a66a9a1f0d1af9dacfd972c41054922e73843705fd96cd2820df059fc0bfd3'
    r = json.loads(subprocess.check_output([sys.executable, '-B', str(p)]))
    assert r['offline'] and r['checks'] == 164 and r['original_checks'] == 2014
    assert r['pure_reflection_checks'] == 12 and r['assets'] == 52 and r['source_pins'] == 14
    assert r['transport_HTTP_status'] == 200 and not r['functional_pass']
    assert r['business_SQL_attempts'] == r['fixture_new_rows'] == 0
    assert r['fresh_and_observer_SQL_reads'] == {'B': 21, 'C': 21}
    subprocess.check_call(['git', '-C', str(tool.source_root('ai_api')), 'merge-base', '--is-ancestor', r['commit'], 'develop_dameng'])

if __name__ == '__main__':
    audit = Path(__file__).with_name('integration-20261013-nutritionlack-missing.json')
    assert not audit.exists(), 'Never replay main'
    report = 'work_ai_api/apifox/2026-09-30-dm8-interface-acceptance/parallel-nutritionlack-missing-20261013/ROOT_REVIEW.md'
    rows = [item('ai_api', 'POST', '/store/investigate.NutritionLack/' + action, '', evidence=report,
        mysql_state='tested-fail-common-original-Service-method-missing-HTTP200-JSON500',
        dm_state='tested-fail-common-original-Service-method-missing-HTTP200-JSON500',
        success_case='failed-common-original-missing-Service-method-not-DM-specific',
        mysql_readback='not-tested-functional-write-zero-business-SQL-observer-only',
        dm_readback='not-tested-functional-write-zero-business-SQL-observer-only',
        readback='partial-evidence-fresh-owned-rows-unchanged-zero-business-SQL-not-functional-write',
        parity='partial-evidence-complete-error-JSON-equal-HTTP200-status500-and-unauth-status401',
        request_type='POST-id0-query-original-private-super-and-no-token-controls')
        for action in ['edit', 'delete']]
    tool.main(rows, audit, verify)
