45 lines
2.1 KiB
Python
45 lines
2.1 KiB
Python
"""Fixed sealed-trace transport check; no closed-loop dynamics or gain search."""
|
|
import hashlib
|
|
import numpy as np
|
|
from context import AG, EXP, CFG, check, read, save, digest, budget
|
|
from timing_queue import TimingQueue, audit_sequence
|
|
|
|
|
|
def transport(generated, delay):
|
|
if generated.ndim != 2 or generated.dtype != np.float32:
|
|
raise ValueError('Expected stored float32 generated h')
|
|
queue = TimingQueue(delay, generated.shape[1])
|
|
applied = np.empty_like(generated)
|
|
for tick, row in enumerate(generated):
|
|
applied[tick] = queue.push(row, tick)
|
|
pending = queue.pending()
|
|
report = audit_sequence(generated, applied, pending, delay)
|
|
report.update(queue.metadata())
|
|
report['applied_bytes_sha256'] = hashlib.sha256(applied.tobytes()).hexdigest()
|
|
report['pending_bytes_sha256'] = hashlib.sha256(pending.tobytes()).hexdigest()
|
|
return applied, pending, report
|
|
|
|
|
|
def main():
|
|
check()
|
|
assert read(EXP / 'origin-audit/summary.json')['pass_all']
|
|
names = CFG['fixtures'] + [r['name'] for r in read(EXP / 'protocol/calibration-cases.json')]
|
|
records = []
|
|
for name in names:
|
|
path = AG / 'gpu' / (name + '-r0') / 'apl-inhibition.float32.npy'
|
|
generated = np.load(path, mmap_mode='r', allow_pickle=False)
|
|
assert generated.shape == (read(AG / 'cases' / name / 'spec.json')['steps'], 4064)
|
|
for delay in CFG['delays_steps']:
|
|
_, _, report = transport(generated, delay)
|
|
records.append(dict(case=name, delay_steps=delay, input_sha256=digest(path), **report))
|
|
save(EXP / 'audit/shift-gate.json', dict(pass_all=all(r['pass_all'] for r in records),
|
|
records=records, input_trace_count=len(names), no_new_brain_trajectory=True,
|
|
no_future_APL_advance=True, closed_loop_equal_integral_claim=False,
|
|
preservation='Every generated finite-window sample retained bitwise in applied or chronological pending slots; initial padding is +0'))
|
|
budget()
|
|
print('PASS: 68 fixed generated traces, 2 exact shifts; no new brain trajectories', flush=True)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|