Your timing stack delivers time. GAL-2 adds a governed application layer: the GAL-2 API creates GAL-2 Time, the GAL-2 Node makes it locally consumable, and the Time Contract governs when it is safe to use.
Keep your timing stack. Install the GAL-2 Node. Connect the application once.
Technical documentation
GAL-2™ is an application-facing time-governance platform born from Fractal Time research. The Protected Core creates the governed GAL-2 Time trajectory, the GAL-2 API delivers it, GAL-2 Node makes it locally consumable, and the Time Contract gives enrolled applications an explicit decision boundary before time becomes committed state.
GAL-2 Node runs locally beside the application and exposes GAL-2 Time
through the Time Contract, SHM, and SDK Provider surfaces.
Enrolled software evaluates safe_to_consume, mode, reason,
validity, uncertainty, sequence, and lineage before protected operations
consume time.
Current signed limited release for Linux ARM64 with Time Contract
1.2.0-contract-rc.4. A native macOS Apple Silicon GAL-2 Node
is the next planned platform release.
GAL-2 complements UTC, GNSS, PTP, NTP, chrony, atomic clocks, grandmasters, cloud timing, operating-system clocks, and timing receivers. It does not discipline the host clock. GAL-2 adds governance where time becomes application state.
Start here:
an active paid GAL-2 API key is required for GAL-2 Node to receive GAL-2 Time
and enter LIVE operation.
Use the
GAL-2 API Quickstart
to obtain and verify API access, then install the current GAL-2 Node release
and verify the local
http://127.0.0.1:9095/contract
surface.
Current public Node release: GAL-2 Node v1.0.0-rc10 · Linux ARM64 . Earlier RC5.x Time Contract packages remain part of the historical public validation lineage, but are not the current GAL-2 Node release.
Decision basis
safe_to_consume based on?
The GAL-2 Time Contract does not ask an application to blindly trust a timestamp. It exposes an explicit policy-derived consumption decision based on observable Node state, continuity state, freshness, validity, uncertainty, and declared policy boundaries before GAL-2 Time becomes committed application state.
safe_to_consume is the authoritative application-facing
consumption decision. The mode field describes the current
continuity state and should not be interpreted by itself as the sole authority
for whether an application may consume GAL-2 Time.
Current default policy values are declared configuration, not universal physical constants. The standard profile includes a 6-hour soft holdover boundary, a 72-hour hard holdover boundary, and a standard 30-second upstream API polling interval. Deployments should interpret contract output together with the declared policy profile rather than treating these defaults as metrology guarantees.
GAL-2 Node evaluates runtime conditions including upstream GAL-2 freshness, last-good synchronization state, cache age, upstream API latency, current continuity mode, validity window, holdover age, uncertainty, recovery state, monotonic publication state, and source lineage.
The decision is constrained by declared policy including LIVE validity, holdover soft and hard limits, freshness and latency boundaries, uncertainty growth, recovery guards, continuity rules, policy version, and active policy profile.
Applications receive gal2_time,
safe_to_consume, mode,
reason, valid_until,
uncertainty_ms, holdover_age_sec,
monotonic_sequence, and
source_lineage instead of a raw timestamp alone.
safe_to_consume resolution
LIVE
WARMING
HOLDOVER
REJOIN
LIVE.
safe_to_consume as the authority
rather than inferring safety from a descriptive condition alone.
FAIL_CLOSED
/contract reads are loopback reads from GAL-2 Node.
The field api_latency_ms, when present in the contract surface,
describes upstream GAL-2 API synchronization context; it should not be confused
with the latency of the application's local contract read.
source_lineage records the observable GAL-2 delivery and
continuity lineage used for audit, diagnostics, and evidence.
It is contract metadata, not a disclosure of the protected Fractal Time
governance logic.
Architecture
GAL-2 is organized as a modular temporal-governance architecture. Reference inputs feed the protected governance system, the Protected Core creates the governed GAL-2 Time trajectory, the GAL-2 API delivers it to entitled Nodes, and GAL-2 Node makes that trajectory locally consumable by enrolled applications through the Time Contract, SHM, and SDK Provider.
Public interfaces expose governed outputs, continuity state, policy-visible metadata, and contract behavior. Protected internal modules coordinate correction, routing, pacing, coherence, alignment, and operational continuity without exposing protected implementation details.
Coordinates correction logic and alignment between internal time representations and external system interfaces within the protected GAL-2 architecture.
Provides adaptive routing and access coordination between GAL-2 components and connected systems within the protected architecture.
Manages pacing and timing-emission concepts used to support coherent and consistent GAL-2 system behavior.
Handles coordination and alignment across distributed GAL-2 processes and protected internal pathways.
Acts as an internal control and orchestration layer responsible for coherence and operational continuity across the protected system.
Exposes governed gal2_time together with
safe_to_consume, validity, uncertainty, mode, reason,
sequence, and source lineage for enrolled applications.
Fractal Time
GAL-2 is built on a fractal-based theoretical framework that treats time as a governed system property rather than merely a raw timestamp obtained from a hardware or operating-system clock.
The Fractal Time architecture informs how the Protected Core reasons about temporal trajectory, correction, continuity, bounded behavior, coherence, and safe downstream consumption under changing or impaired timing conditions.
Public documentation focuses on observable behavior and integration semantics. The protected formula and its internal implementation are not distributed inside GAL-2 Node. The Node does not recreate the Protected Core locally and does not apply a second Fractal Time correction engine to received GAL-2 Time.
Conceptual flow, public-safe:
reference inputs
│
▼
protected GAL-2 governance boundary
│
├── Fractal Time architecture
├── protected correction / alignment logic
├── continuity and coherence authority
└── GAL-2 Time trajectory creation
│
▼
GAL-2 API
│
│ delivers GAL-2 Time to entitled Node
▼
GAL-2 Node
│
├── LIVE delivery
├── bounded HOLDOVER
├── controlled recovery / REJOIN when required
├── uncertainty tracking
├── local publication
├── SHM
└── SDK Provider
│
▼
Time Contract
│
├── gal2_time
├── safe_to_consume
├── valid_until
├── uncertainty_ms
├── holdover_age_sec
├── mode
├── reason
├── monotonic_sequence
└── source_lineage
│
▼
enrolled application
Deployment
GAL-2 is designed to run alongside existing timing infrastructure including GNSS, NTP, PTP, chrony, grandmasters, atomic references, cloud timing, operating-system clocks, and enterprise timing systems. Customers do not need to remove or replace their existing timing stack.
The current deployment pattern is to install GAL-2 Node beside the application. The Node receives GAL-2 Time through the GAL-2 API and makes it locally consumable through the Time Contract, SHM, and SDK Provider.
An active paid GAL-2 API key is required for the Node to
receive GAL-2 Time and enter LIVE operation.
Obtain an active GAL-2 API plan and configure the Node with the corresponding API credential.
Install the signed GAL-2 Node release on the compatible host beside the application you intend to enroll.
Consume GAL-2 locally through the intended Node surface and make the Time Contract authoritative for protected time-dependent operations.
# Inspect the local Time Contract curl -s http://127.0.0.1:9095/contract | python3 -m json.tool
v1.0.0-rc10 is currently available for
Linux ARM64.
080a17dc6f477a6a707e78efe14412d3a0f15d38cc2829cda0ddd9bf8024ac6b
Application surface
The Time Contract returns GAL-2 Time together with the runtime semantics
required for safe application consumption.
gal2_time is the governed time value.
safe_to_consume is the authoritative application-facing
decision indicating whether the protected path should consume it.
Fields such as mode, reason, validity, uncertainty, sequence, holdover age, and lineage explain the state under which that decision was published.
{
"version": "1.2.0-contract-rc.4",
"gal2_time": "2026-08-14T18:42:31.482Z",
"safe_to_consume": true,
"mode": "LIVE",
"health": "green",
"reason": "fresh_api_sync",
"valid_until": "...",
"uncertainty_ms": "...",
"uncertainty_ms_basis":
"conservative_model_v1_not_external_metrology_validated",
"holdover_age_sec": 0,
"monotonic_sequence": "...",
"source_lineage": [
"gal2_api",
"...",
"time_contract_1.2.0_contract_rc4"
]
}
uncertainty_ms is exposed under a conservative operational
model. Its declared basis is
conservative_model_v1_not_external_metrology_validated.
It should not be represented as external metrology certification.
gal2_time
safe_to_consume
valid_until
mode
reason
uncertainty_ms
holdover_age_sec
monotonic_sequence
source_lineage
safe_to_consume remains authoritative.
Modes describe the state of GAL-2 continuity; they do not independently
override the contract's safe-consumption decision.
LIVE
safe_to_consume=true and the publication
remains valid.
HOLDOVER
safe_to_consume=true and the declared
holdover, validity, continuity, and uncertainty boundaries remain satisfied.
REJOIN
LIVE when it is not.
FAIL_CLOSED
WARMING
safe_to_consume, reason, validity, uncertainty, and
current continuity metadata as the authority.
Y2038
GAL-2 does not replace platform-level Y2038 remediation.
It does not convert a 32-bit time_t implementation to 64-bit,
patch a legacy kernel, replace firmware, migrate a database schema, or
repair a legacy binary.
GAL-2 provides a different layer of remediation: for an enrolled application path, the Time Contract governs whether time should be consumed before a Y2038-style timestamp failure can become committed application state.
64-bit time migration, operating-system and kernel updates, firmware replacement, database/schema changes, runtime migration, and legacy binary remediation.
Govern, continue under bounded policy, recover under controlled rules, or fail closed before unsafe time becomes durable application state.
GAL-2 protects application paths that are actually enrolled through the GAL-2 Node and Time Contract. If software bypasses the protected path, independently reads raw host time, and commits that value as protected state, that operation is outside the GAL-2 protection boundary.
contract = gal2_provider.read()
if contract.safe_to_consume:
commit_with_timestamp(contract.gal2_time)
else:
block_or_defer_protected_operation(
mode=contract.mode,
reason=contract.reason
)
Interfaces
GAL-2 exposes the interfaces required for service access, local application consumption, observability, continuity, and audit without exposing the protected Fractal Time formula, internal governance logic, tuning mechanisms, private keys, or authoritative backend implementation.
Primary local Time Contract surface: GET http://127.0.0.1:9095/contract Upstream GAL-2 API: GET https://api-v2.gal-2.com/time Application integration surfaces: Time Contract Local SHM SDK / Clock Provider
The GAL-2 API delivers GAL-2 Time created by the Protected Core. GAL-2 Node consumes that governed trajectory and makes it locally available to enrolled applications.
If upstream GAL-2 API access becomes temporarily unavailable and the Node has
a valid last-good GAL-2 state, the Node may continue through bounded
HOLDOVER according to declared policy while uncertainty grows.
When upstream synchronization returns, recovery may proceed directly to
LIVE when reconciliation is unnecessary or through controlled
REJOIN when reconciliation is required.
If the declared safe-consumption boundary can no longer be maintained,
GAL-2 exposes a non-consumable contract with
safe_to_consume=false and transitions the protected path toward
FAIL_CLOSED behavior rather than silently substituting raw host time.
LIVE mode.
safe_to_consume.
Safe application consumption remains governed by the Time Contract.
Evidence
GAL-2 validation focuses on the behaviors that matter at the application boundary: governed timeline continuity, monotonic consumption behavior, bounded holdover, controlled recovery, fail-closed semantics, restart continuity, source lineage, application-state protection, host-clock non-interference, and auditable release identity.
Earlier Time Contract releases and long-duration experiments remain part of the public GAL-2 evidence lineage. They should be read as historical evidence supporting the evolution of the architecture, not as substitutes for the identity of the current GAL-2 Node release.
Current signed limited release for Linux ARM64 with local Time Contract, SHM and SDK Provider consumption, bounded holdover, controlled recovery, fail-closed behavior, and explicit release identity.
Release identity: RC10_RELEASE_IDENTITY.txt
Public handoff: Download RC10
Documents a GAL-2 governed timeline over a full-week run with 508,548 observed samples and zero observed backward steps in the reported application-facing trajectory.
Documents 14,397 Time Contract samples, zero reported fetch failures,
zero observed monotonic-sequence backward steps, and
FAIL_CLOSED behavior with
safe_to_consume=false during the adversarial window.
Documents the earlier RC4-derived 120-hour Time Contract characterization, the declared 72-hour holdover boundary, fail-closed behavior at the safety boundary, and recovery back to LIVE.
RC5.1 through RC5.8 preserve the earlier public Time Contract evaluation lineage, including signed/notarized artifacts, application-facing contract semantics, macOS packaging work, Linux ARM64 packaging, IXOYE advisory observation, and published evidence packages.
RC5.1 DOI: 10.5281/zenodo.20646973
GAL-2 validation includes legacy timestamp-boundary testing, protected commit behavior, continuity experiments, and database-backed application-state evidence for Y2038-style failure conditions.
The claim boundary remains explicit: GAL-2 does not replace platform-level 64-bit time migration or legacy-system remediation. It provides Y2038 application-state remediation at the commit boundary for enrolled application paths.
See: Public Validation
Runtime behavior
GAL-2 performance should be evaluated in the environment where it will run. The relevant engineering question is not only timestamp precision, but whether the enrolled application receives predictable local consumption behavior, correct continuity transitions, bounded failure semantics, and acceptable runtime overhead.
Layer distinction
GAL-2 operates at a different layer from traditional reference and synchronization systems. UTC, GNSS, NTP, PTP, chrony, grandmasters, atomic references, timing receivers, and operating-system clocks help define, obtain, discipline, or distribute time. GAL-2 governs how an enrolled application consumes time before that time becomes state.
safe_to_consume, validity, uncertainty, reason, lineage,
bounded holdover, controlled recovery, and fail-closed semantics.
Application boundary
GAL-2 is designed for systems where time becomes state and where unsafe timestamps, continuity failures, or uncontrolled recovery can create operational, financial, forensic, security, or distributed-system damage.
Helps protect ordering-sensitive writes, reconciliation, sequencing, distributed workflows, and audit trails when the normal time path becomes unsafe.
Provides explicit governed behavior when upstream GAL-2 access or surrounding timing conditions become unavailable, degraded, intermittent, or recover after interruption.
Supports explicit continuity state for systems that may operate across isolation, reconnection, service interruption, and local restart.
Records mode, reason, validity, uncertainty, sequence, and lineage alongside protected operations for post-event review.
Complements the existing timing stack by adding governance close to the software path where timestamps become durable state.
GAL-2 provides application-state remediation for enrolled workflows by governing whether Y2038-style unsafe timestamp behavior can become committed state.
This does not replace operating-system, kernel, firmware, database, schema, runtime, or legacy-binary remediation at their own layers.
Security model
GAL-2 is designed around controlled access, protected core logic, signed release identity, local application consumption, explicit failure behavior, and separation between backend entitlement and application-side safe-consumption authority.
080a17dc6f477a6a707e78efe14412d3a0f15d38cc2829cda0ddd9bf8024ac6b
802C 8978 FF85 7550 60B6 D6BC 8AB8 59E4 D705 822F
GAL-2 is designed to operate alongside established timing, networking, operating-system, cloud, and physical reference infrastructure. It does not replace NTP, PTP, GNSS, UTC, chrony, atomic clocks, grandmasters, timing receivers, operating-system time, cloud time, or national metrology references.
GAL-2's role is different: it adds a governed application-consumption boundary between available time and committed software state.
For regulated, safety-critical, or production-critical environments, organizations should validate GAL-2 against their own requirements, deployment policies, risk models, audit obligations, and applicable technical or regulatory frameworks.
Release lineage
GAL-2 releases evolve through explicit controlled versioning. Frozen releases are not modified silently. Changes to runtime behavior, installer, schema, package identity, signing, compatibility, or public contract semantics require a new release identity.
safe_to_consume=false.
gal2_time:
the governed GAL-2 Time value consumed by enrolled applications
when the Time Contract allows it.
safe_to_consume:
the authoritative application-facing decision indicating whether
the current GAL-2 Time publication may be consumed under the
active Time Contract and declared policy.
safe_to_consume.
Technical position
Existing timing infrastructure continues to perform its reference, synchronization, distribution, and host-clock functions. GAL-2 introduces a different boundary: governed consumption at the point where time becomes application state.