7.1 Determinism invariants (must hold for every run)
- I1. Frozen physics.
period_days,b0_deg,w_deg_per_daynever change at inference. - I2. Pure inverse. No network calls, no wall-time, no randomness during inference.
- I3. One wrap only. Wrapping occurs only inside
angdiffwhen comparing angles. - I4. Horizon modulo. All time errors are reported modulo
T_search. - I5. ASCII-only I/O. Manifests, logs, and summaries are plain ASCII (CSV, TXT, JSON).
- I6. Idempotent runs. Same manifest + same inputs ⇒ bit-for-bit identical outputs.
Quick self-check: any console-output discrepancy violates I6.
7.2 Reproducibility pack (what to zip for an audit)
Minimum contents
clock_manifest.json
notes/longbench_summary.csv
notes/smoke_test.log
ssm_clock_runner.py
ssm_clock_longbench_v2.py
ssm_clock_stream_v2.py
One-click pack (CMD)
cd /d "C:\Users\ASUS\Desktop\Clock"
for /f %A in ('powershell -NoProfile -Command "Get-Date -Format yyyyMMdd_HHmmss"') do set TS=%A
if not exist dist mkdir dist
powershell -NoProfile -Command ^
"Compress-Archive -Force -DestinationPath ('dist\\SSM-Clock_v1.1_Audit_'+$env:TS+'.zip') -Path 'clock_manifest.json','notes\\longbench_summary.csv','notes\\smoke_test.log','ssm_clock_runner.py','ssm_clock_longbench_v2.py','ssm_clock_stream_v2.py'"
echo WROTE dist\SSM-Clock_v1.1_Audit_%TS%.zip
7.3 Run metadata and audit trail (tiny JSON)
Create a small metadata file after every acceptance bench. It captures exact knobs and references, without needing checksums.
Create
notepad notes\run_meta.json
Paste (edit your values)
{
"tool": "SSM-Clock v1.1",
"timestamp_utc": "2025-10-09T12:34:56Z",
"manifest_ref": "clock_manifest.json",
"manifest_version": "v1.1",
"period_set": "1,7,29.5306,365.2422",
"seeds": 200,
"noise_list": "2,6",
"grid_step_min": 2.0,
"stack": 5,
"stack_dt_days": 0.5,
"multistart_k": 7,
"refine": "brent",
"refine_steps": 80,
"bracket_mult": 2,
"alpha_kz": 0.0,
"horizon_policy": "max(periods)",
"pass_gate": "error<=28.8min AND pass_rate>=95%",
"summary_csv": "notes/longbench_summary.csv",
"csv_row_count": 2,
"csv_byte_size": 203,
"git_tag": "v1.1",
"git_commit": "<short-commit-id>"
}
Optional helpers
:: Row count
powershell -NoProfile -Command "(Import-Csv 'notes\\longbench_summary.csv').Count"
:: Byte size
powershell -NoProfile -Command "(Get-Item 'notes\\longbench_summary.csv').Length"
:: If using git
git describe --tags --exact-match
git rev-parse --short HEAD
Navigation
Back: SSM-Clock—Deployment, APIs & Privacy (6.7–6.9)
Next: SSM-Clock—Governance, Smoke Tests & Naming (7.4–7.6)