"""Box-side deterministic item builder (no models). Implements METRIC_DEFINITIONS.json v1.""" import json, re, hashlib, sys import pyarrow.parquet as pq from tokenizers import Tokenizer B='build/'; P='package/' TOK={'STASIS_12269':Tokenizer.from_file(P+'stasis_tokenizer/tokenizer.json'),'GPT2_SMALL':Tokenizer.from_file(P+'gpt2/tokenizer.json')} BOS={'STASIS_12269':2,'GPT2_SMALL':50256} def byte_decoder(): values=list(range(ord("!"),ord("~")+1))+list(range(161,173))+list(range(174,256)); chars=values[:]; e=0 for i in range(256): if i not in values: values.append(i); chars.append(256+e); e+=1 return {chr(c):v for v,c in zip(values,chars)} BD=byte_decoder() def enc(m,raw): if not raw: return [] ids=TOK[m].encode(raw.decode('utf-8'),add_special_tokens=False).ids back=bytes(BD[c] for t in ids for c in TOK[m].id_to_token(t)) assert back==raw,(m,raw[:50]); return ids def utf8_prefix(raw,cap): c=raw[:cap] while c: try: c.decode('utf-8'); return c except UnicodeDecodeError as e: c=c[:e.start] return b'' def utf8_suffix(raw,cap): s=max(0,len(raw)-cap) while s