intelligence-radar/intelligence_radar/profile_review.py
tegwick 21b5dddd15 Review IR-WP-0004 evidence gaps and capture provider profile metadata
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a09cbc-910e-77a0-b336-3130194350b3
2026-09-14 15:46:33 +02:00

77 lines
3.8 KiB
Python

"""Offline OpenRouter catalog transcription; never grants trial eligibility."""
import argparse
from decimal import Decimal, InvalidOperation
import hashlib
import json
from pathlib import Path
from .store import canonical, get
SOURCE = 'https://openrouter.ai/api/v1/models'
def review(root, capture_id, config):
receipt = get(root, 'captures', capture_id)
if receipt['url'] != SOURCE or receipt['final_url'] != SOURCE:
raise ValueError('expected the OpenRouter public model catalog')
raw = (Path(root) / 'data/artifacts' / receipt['content_sha256']).read_bytes()
if hashlib.sha256(raw).hexdigest() != receipt['content_sha256']:
raise ValueError('catalog artifact integrity mismatch')
entries = json.loads(raw)['data']
ids = [item['id'] for item in entries]
if len(ids) != len(set(ids)):
raise ValueError('ambiguous duplicate catalog model ID')
configured = [item['id'] for item in config['models']]
if len(configured) != len(set(configured)):
raise ValueError('duplicate configured model ID')
index = {item['id']: item for item in entries}
rows = []
for model in config['models']:
item = index.get(model['id'])
row = {'model_id': model['id'], 'listed': item is not None,
'requester_access_verified': None, 'benchmark_comparability_verified': None}
if item is not None:
prices = {}
for field in ('prompt', 'completion'):
try:
rate = Decimal(str(item.get('pricing', {}).get(field))) * 1000000
cap = Decimal(str(model['max_usd_per_million'][field]))
if not rate.is_finite() or rate < 0 or not cap.is_finite() or cap < 0:
raise ValueError('nonfinite or negative price')
except (InvalidOperation, ValueError, KeyError):
prices[field] = {'advertised_usd_per_million': None, 'within_configured_cap': None}
else:
prices[field] = {'advertised_usd_per_million': str(rate),
'within_configured_cap': rate <= cap}
row.update(canonical_slug=item.get('canonical_slug'),
advertised_context_length=item.get('context_length'),
supported_parameters=item.get('supported_parameters', []),
base_prices=prices,
pricing_requires_endpoint_review=bool(item.get('pricing', {}).get('overrides')))
rows.append(row)
return {'schema_version': 1, 'kind': 'public_catalog_transcription',
'capture_id': capture_id, 'artifact_sha256': receipt['content_sha256'],
'observed_at': receipt['retrieved_at'],
'config_sha256': hashlib.sha256(canonical(config)).hexdigest(),
'campaign': config['campaign'], 'execution_authorized': False,
'limitations': ['Catalog listing does not prove requester access or backend availability',
'Base prices exclude extra charges and do not guarantee routed endpoint prices',
'Canonical slug is provider metadata, not an immutable serving-weight attestation',
'This review supplies no benchmark score, calibration or spending authorization'],
'models': rows}
def main():
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument('--root', type=Path, default=Path.cwd())
parser.add_argument('--capture', required=True)
parser.add_argument('--config', type=Path, required=True)
args = parser.parse_args()
try:
print(json.dumps(review(args.root, args.capture, json.loads(args.config.read_text())), indent=2))
except (OSError, ValueError, KeyError, TypeError) as exc:
parser.exit(1, f'Catalog review failed: {exc}\n')
if __name__ == '__main__':
main()