back to table · edit · history · where entries came from · files · download
1991 bytes, as of the version from 2026-10-28 18:59 (current). Recorded here, not run.
"""Read-only numerical recheck for numberdb.org/T587.
Run: sage -python repair_checks.py [path/to/table.json]
Requires unchanged attached generate.py and checks.py beside this file.
Without a path, read T587 through numberdb using NUMBERDB_API_KEY.
The script never writes to NumberDB.
"""
import json
import sys
from pathlib import Path
import platform
import importlib.metadata
import numberdb.sage as numberdb
from sage.env import SAGE_VERSION
import checks
import generate
if len(sys.argv) > 1:
document = json.loads(Path(sys.argv[1]).read_text())
elif Path(__file__).with_name('table-before.json').exists():
document = json.loads(Path(__file__).with_name('table-before.json').read_text())
else:
document = numberdb.table('T587')
rows = [{'n': int(k), 'number': v['number']} for k, v in document['Numbers'].items()]
result = checks.check_rows(rows)
brackets, cells = generate.counted_brackets()
assert [p['n'] for p in generate.KelvinKeiZeros().enumerate()] == [r['n'] for r in rows]
for row in rows:
left, right, ulp = checks.decimal_interval(row['number'])
ball = generate.root_enclosure(row['n'], 100)
assert ball.is_finite() and ball.rad() > 0
assert ball.lower() > left and ball.upper() < right
result.update(
table='T587',
all_generator_enclosures_inside_stored_intervals=True,
count_cells=len(cells), count_roots=len(brackets),
max_count_disk_ratio=str(max(c[2] for c in cells)),
enumeration_matches=True,
versions={'sage': SAGE_VERSION, 'python':platform.python_version(),
'numberdb':importlib.metadata.version('numberdb')},
policy_manifest='agents/runs/20261028T185354Z-repair-skills/manifest.json',
skill_sha256={'local':'e37efb7e2ededf6c1d7134c673f152f648f26e0267c556aebdf3ec65765d8b4c',
'live':'e37efb7e2ededf6c1d7134c673f152f648f26e0267c556aebdf3ec65765d8b4c'},
limitation='Reuses existing builder checks; not a new independent critique.')
print(json.dumps(result, indent=2))