GAL-2™ | Time Contract
GAL-2™ Time Contract
A local application-facing time contract for software systems that need governed time consumption, explicit holdover policy, local continuity, and controlled rejoin behavior.
Free download. Activation requires a valid GAL-2 API key.
Precision protects the reference. GAL-2 protects the consumer.
GAL-2 Time Contract v1 RC2 is the first customer-ready Limited Availability release for macOS and Linux technical evaluation, design partners, and controlled pilot deployments. The macOS installer is Developer ID signed, Apple notarization accepted, stapled, and Gatekeeper accepted. The Linux package includes a detached GPG signature, public key, and fingerprint.
Last updated: Apr 30, 2026
Primary local endpoint:
http://127.0.0.1:9095/contract
macOS requirement:
Python 3.13 from python.org must be installed before running the daemon.
What it does
GAL-2 Time Contract exposes a local contract that applications can read before trusting time.
The contract reports mode, health, reason, safe_to_consume, valid_until, monotonic_sequence, local receive and serve timestamps, API latency, cache age, and source lineage.
Time Contract states
LIVE, DEGRADED, HOLDOVER, REJOIN, WARMING, and FAIL_CLOSED.
These states help applications understand whether governed time is fresh, recovering, degraded, locally held, or unsafe to consume.
HOLDOVER policy
HOLDOVER is not a silent failure when safe_to_consume=true.
It means the daemon is serving governed continuity from the last good GAL-2 API state inside explicit policy limits.
If policy limits are exceeded, the contract moves toward FAIL_CLOSED and safe_to_consume=false.
Verification
macOS v1 RC2 SHA256:
15314d4d97cf1edbdc0221b486744d0ca48837ee7f77fe6d7255b015d15f2f70
Linux v1 RC2 SHA256:
83f4843b9effcf6e419ffa44e18b0d2ff3eacf4c8422080ed95ed33d066c86fa
Linux release signing fingerprint:
EE6D A149 6DD6 2B36 84B0 18CC D118 238E 63D7 0AB7
macOS package is Developer ID signed, Apple notarization trusted, stapled, and Gatekeeper accepted.
Linux package includes detached GPG signature, public key, and fingerprint materials.
Built for technical evaluation, controlled pilot deployment, and design-partner environments where governed continuity, explicit holdover policy, and cloud reconciliation matter.
Without a valid API key, the daemon can expose local status, but it does not serve production GAL-2 Time.
The protected GAL-2 core remains behind the production API. The daemon consumes the API and exposes a local application-facing contract.
RC2 is frozen as a Limited Availability release; future fixes or features will ship as RC2.1, RC3, or v1.0.
Quickstart for macOS
Install Python 3.13 from python.org, install the macOS package, add your GAL-2 API key, restart the daemon, and verify the local Time Contract.
1. Install Python 3.13
Install Python 3.13 from python.org before running the daemon.
2. Install the macOS package
Open GAL2-TimeContract-1.0.0-rc2-macos.pkg and complete the installer.
3. Edit your daemon configuration
sudo pico /etc/gal2/daemon.env
4. Replace the sample key
GAL2_API_KEY=your_client_api_key_here
5. Restart the daemon
sudo launchctl kickstart -k system/com.gal2.daemon
6. Check the local Time Contract
curl -s http://127.0.0.1:9095/contract | python3 -m json.tool
Expected after activation
"schema": "gal2-daemon-time-contract-v1"
"version": "1.0.0-contract-rc2"
"mode": "LIVE", "REJOIN", or policy-valid "HOLDOVER"
"safe_to_consume": true
"reason": "fresh_api_sync", "controlled_rejoin_slew_active", or "api_unreachable_holdover_within_soft_policy"
Quickstart for Linux
Extract the tarball, run the installer, add your GAL-2 API key, start the systemd service, and verify the local Time Contract.
1. Extract the package
tar -xzf GAL2-TimeContract-1.0.0-rc2-linux-x86_64.tar.gz
cd GAL2-TimeContract-1.0.0-rc2-linux-x86_64
2. Install the daemon files
sudo ./install.sh
3. Edit your daemon configuration
sudo nano /etc/gal2/daemon.env
4. Replace the sample key
GAL2_API_KEY=your_client_api_key_here
5. Start the daemon
sudo systemctl start gal2-timecontract.service
6. Enable on boot
sudo systemctl enable gal2-timecontract.service
7. Check the local Time Contract
curl -s http://127.0.0.1:9095/contract | python3 -m json.tool
Expected after activation
"schema": "gal2-daemon-time-contract-v1"
"version": "1.0.0-contract-rc2"
"mode": "LIVE", "REJOIN", or policy-valid "HOLDOVER"
"safe_to_consume": true
"reason": "fresh_api_sync", "controlled_rejoin_slew_active", or "api_unreachable_holdover_within_soft_policy"
Docker users can run the Linux package by exposing port 9095 and injecting GAL2_API_KEY as an environment variable. The public Linux package was validated in Ubuntu 24.04 Docker with the daemon serving /contract on a mapped localhost port.
Linux v1 RC2 currently targets x86_64 environments.