SSM-Clock—Determinism, Audit & Provenance (7.1–7.3)

7.1 Determinism invariants (must hold for every run)

  • I1. Frozen physics. period_days, b0_deg, w_deg_per_day never change at inference.
  • I2. Pure inverse. No network calls, no wall-time, no randomness during inference.
  • I3. One wrap only. Wrapping occurs only inside angdiff when 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)


Explore further:

https://github.com/OMPSHUNYAYA/Symbolic-Mathematical-Clock