# Output of shift/run_inbound_demo.sh — 2026-10-15T03:57:55Z, gcc 13, cargo 1.97.0 (c980f4866 2026-06-30), OpenSSL 3.0.13
# (Temporary paths and timings vary per run.)

Incoming data is in true time: permit-A 2040-06-01, permit-B 2039-12-31, permit-C 2070-01-01,
permit-D 2068-03-01, permit-E 2038-03-01

== S1. True time 2038-01-10 (clock still fits 32 bits). No helper. permit-E (2038-03-01) does not fit.
   The program wrongly treats a valid permit as long expired.
  permit-E  expires=@T-2143952896  EXPIRED (49 days left)

== S1b. Same moment, with the helper and translation: correct
  permit-E  expires=2038-03-01T00:00:00.000000000Z  valid   (49 days left)

== S1c. True time 2040-02-15, no helper: clock AND data both overflow by the same amount.
   The dates printed are garbage, yet valid/EXPIRED comes out right by accident.
  permit-A  expires=@T-2072845696  valid   (106 days left)
  permit-B  expires=@T-2086064896  EXPIRED (-46 days left)

== S2. Same, with the helper and inbound + outbound translation (shift.conf = 28 years)
  permit-A  expires=2040-06-01T00:00:00.000000000Z  valid   (106 days left)
  permit-B  expires=2039-12-31T00:00:00.000000000Z  EXPIRED (-46 days left)

== S3. Incoming data includes permit-C (2070), which cannot be shifted into the 32-bit window
  inbound translator: SHUTTER - 1 timestamp(s) cannot be translated; nothing passed to the program:
  line 2: @T3155760000: 2070-01-01T00:00:00.000000000Z cannot be shifted into the program's 32-bit window
  (shutter closed: the program was not given any of this data)

== S4. True time reaches 2066-06-01, past the 28-year window. Helper refuses; inbound shutter closes.
  inbound translator: SHUTTER - 2 timestamp(s) cannot be translated; nothing passed to the program:
  line 1: @T3097785600: 2068-03-01T00:00:00.000000000Z cannot be shifted into the program's 32-bit window
  line 2: @T3155760000: 2070-01-01T00:00:00.000000000Z cannot be shifted into the program's 32-bit window
  (shutter closed: the program was not given any of this data)
  helper, asked for the time directly:
  helper: REFUSED - true time 3042576000 minus shift 883612800 does not fit a 32-bit field
legacy_reader: clock unavailable
  -- SHUTTER: stop the program and its data feeds
  -- RECONFIG: shift.conf changed to 56 years, in one place, for the helper and both translators
  -- restart
  permit-D  expires=2068-03-01T00:00:00.000000000Z  valid   (639 days left)
  permit-C  expires=2070-01-01T00:00:00.000000000Z  valid   (1310 days left)

== S5. Mistyped reconfiguration (shift_secs=883612801): everything refuses, nothing is skewed
  inbound translator: REFUSED - /tmp/tmp.hkT39pWh9d/shift.conf: shift 883612801 is not a whole multiple of 28 years (883612800)
  (shutter closed: the program was not given any of this data)
  helper: REFUSED - shift file /tmp/tmp.hkT39pWh9d/shift.conf is missing, malformed, or not a whole multiple of 28 years
legacy_reader: clock unavailable
