GAL2_RC5_113_FINAL_CONTRACT_OUTPUT_FOR_AI_REVIEW_V0_1
run_utc=2026-06-11T12:53:48Z
build=/Users/franciscotorres/GAL2_RC5_PRODUCT_SOURCE_FROM_RC31_20260610T185133Z
daemon=/Users/franciscotorres/GAL2_RC5_PRODUCT_SOURCE_FROM_RC31_20260610T185133Z/macos_pkgroot/usr/local/gal2/bin/gal2d-rc5/gal2d-rc5
doctor=/Users/franciscotorres/GAL2_RC5_PRODUCT_SOURCE_FROM_RC31_20260610T185133Z/macos_pkgroot/usr/local/gal2/bin/gal2-doctor-rc5/gal2-doctor-rc5
port=9505
config=/usr/local/gal2/config/daemon.env
api_key_value=REDACTED_NOT_PRINTED
tmp=/tmp/gal2_rc5_113_contract_review_BGYw1f

PRODUCT_SCOPE_BOUNDARY
GAL-2 governs application-facing Time Contracts.
IXOYE is an out-of-band advisory witness reference.
IXOYE is not a time source, not a fallback source, and does not decide safe_to_consume.
This RC5.1 / 1.1.3 build is a public evaluator / enterprise pilot candidate, not a final enterprise production certification.

SIGNED_PAYLOAD_BINARY_HASHES
94f6f7f1eb0ab7de504eeb4b848a7c0b6b69af83ecf8a337feb0c1fb1ec23b69  /Users/franciscotorres/GAL2_RC5_PRODUCT_SOURCE_FROM_RC31_20260610T185133Z/macos_pkgroot/usr/local/gal2/bin/gal2d-rc5/gal2d-rc5
b449e0d90380ea5d3a4d20ed20a8947a74b964ce8dc86b730d0d39c5d96639a7  /Users/franciscotorres/GAL2_RC5_PRODUCT_SOURCE_FROM_RC31_20260610T185133Z/macos_pkgroot/usr/local/gal2/bin/gal2-doctor-rc5/gal2-doctor-rc5

CODESIGN_VERIFY

START_SIGNED_PAYLOAD_DAEMON_WITH_REAL_API_KEY
pid=3443

READINESS
ready_at_sec=9

STATUS_JSON
{
    "api_key_present": true,
    "cache_present": true,
    "config_present": true,
    "config_source": "/usr/local/gal2/config/daemon.env",
    "last_error": null,
    "last_sync": "2026-06-11T12:53:56.832670+00:00",
    "next_poll_seconds": 30.0,
    "poll_interval_seconds": 30.0,
    "quota_status": "ok",
    "requests_limit": 100000,
    "requests_used": 1,
    "status": "live",
    "usage_period_start": "2026-06-01T00:00:00+00:00",
    "version": "1.1.3-rc5-ixoye-witness-validity-deadband-observability-fix"
}

CONTRACT_JSON
{
    "api_latency_ms": 330.157,
    "cache_age_seconds": 0.186,
    "daemon_mode": "live",
    "gal2_time": "2026-06-11T12:53:57.206036Z",
    "health": "green",
    "holdover_age_sec": null,
    "holdover_policy_version": "rc5_ixoye_witness_holdover_policy_v0_1_derived_from_rc4_72h",
    "last_good_sync": "2026-06-11T12:53:56.832670+00:00",
    "last_recovery_holdover_age_sec": null,
    "last_sync_delta_ms": null,
    "last_sync_trigger": "scheduled",
    "last_upstream_anchor_hash": "1215177902fa747d4468bd3c2f8e3492e077337fd1e697d9a8aea9cd7551a565",
    "last_upstream_anchor_time": "2026-06-11T12:53:56.832670+00:00",
    "local_receive_time": "2026-06-11T12:53:56.832553+00:00",
    "local_serve_time": "2026-06-11T12:53:57.019043+00:00",
    "max_holdover_sec": 259200.0,
    "mode": "LIVE",
    "monotonic_sequence": 1,
    "monotonic_sequence_semantics": "per_contract_serve",
    "operational_bound_ms": 330.162,
    "oscillator_class_declared": "unspecified_consumer_hardware",
    "policy": {
        "contract_holdover_hard_sec": 259200.0,
        "contract_holdover_soft_sec": 21600.0,
        "contract_live_valid_sec": 45.0,
        "contract_max_api_latency_ms": 5000.0,
        "contract_rejoin_guard_sec": 10.0
    },
    "policy_profile": "rc5_ixoye_witness_policy_v0_1_derived_from_rc4_72h",
    "quota_status": "ok",
    "reason": "fresh_api_sync",
    "rejoin_guard_active": false,
    "rejoin_state": "none",
    "request_id": "local-0000000000000001",
    "safe_to_consume": true,
    "schema": "gal2-daemon-time-contract-v1",
    "service": "gal2d-rc5-ixoye-witness",
    "slew_remaining_sec": 0.0,
    "slew_threshold_ms": 250.0,
    "source_lineage": [
        "gal2_api",
        "gal2_daemon_rc3_base",
        "rc4_72h_holdover_policy",
        "rc5_ixoye_witness_contract"
    ],
    "uncertainty_growth_rate_ms_per_hour": 100.0,
    "uncertainty_ms": 330.162,
    "uncertainty_ms_basis": "conservative_model_v1_not_external_metrology_validated",
    "utc_time": "2026-06-11T12:53:57.214272Z",
    "valid_until": "2026-06-11T12:54:41.832670Z",
    "valid_until_basis": "last_good_sync_plus_contract_live_valid_sec",
    "version": "1.1.3-contract-rc5-ixoye-witness-validity-deadband-observability-fix",
    "witness_ref": {
        "discovery": "/witness",
        "effect_on_safe_to_consume": "none",
        "enabled": true,
        "layer": "IXOYE",
        "policy": "advisory_only",
        "role": "out_of_band_attestation"
    }
}

METRICS_KEY_LINES
# HELP gal2_build_info GAL-2 daemon and contract version information.
# TYPE gal2_build_info gauge
gal2_build_info{daemon_version="1.1.3-rc5-ixoye-witness-validity-deadband-observability-fix",contract_version="1.1.3-contract-rc5-ixoye-witness-validity-deadband-observability-fix"} 1
# HELP gal2_contract_safe_to_consume Current application-facing safety decision.
# TYPE gal2_contract_safe_to_consume gauge
gal2_contract_safe_to_consume 1
# HELP gal2_contract_mode_info Current contract mode and reason.
# TYPE gal2_contract_mode_info gauge
gal2_contract_mode_info{mode="LIVE",reason="fresh_api_sync"} 1
# HELP gal2_cache_age_seconds Age of the last accepted upstream sample.
# TYPE gal2_cache_age_seconds gauge
gal2_cache_age_seconds 0.20841
# HELP gal2_api_latency_ms Last observed upstream API latency in milliseconds.
# TYPE gal2_api_latency_ms gauge
gal2_api_latency_ms 330.157
# HELP gal2_contract_sequence Last served contract sequence. Metrics endpoint does not increment this value.
# TYPE gal2_contract_sequence gauge
gal2_contract_sequence 1
# HELP gal2_slew_active Whether controlled slew is active.
# TYPE gal2_slew_active gauge
gal2_slew_active 0
# HELP gal2_slew_remaining_seconds Remaining controlled slew time.
# TYPE gal2_slew_remaining_seconds gauge
gal2_slew_remaining_seconds 0.0
# HELP gal2_rejoin_guard_active Whether rejoin guard is active.
# TYPE gal2_rejoin_guard_active gauge
gal2_rejoin_guard_active 0

DOCTOR_REPORT
GAL-2 Doctor Report
===================
Generated UTC: 2026-06-11T12:54:01+00:00
Base URL: http://127.0.0.1:9505

Summary
  status_version: 1.1.3-rc5-ixoye-witness-validity-deadband-observability-fix
  contract_version: 1.1.3-contract-rc5-ixoye-witness-validity-deadband-observability-fix
  mode: LIVE
  safe_to_consume: True
  reason: fresh_api_sync
  config_present: True
  api_key_present: True

Checks
  [PASS] /status: HTTP 200
  [PASS] /health: HTTP 200
  [PASS] /contract: HTTP 200
  [PASS] /metrics: HTTP 200
  [PASS] version_consistency: status=1.1.3-rc5-ixoye-witness-validity-deadband-observability-fix, contract=1.1.3-contract-rc5-ixoye-witness-validity-deadband-observability-fix, metrics_daemon=1.1.3-rc5-ixoye-witness-validity-deadband-observability-fix, metrics_contract=1.1.3-contract-rc5-ixoye-witness-validity-deadband-observability-fix
  [PASS] config_present: config_present=True
  [PASS] api_key_present: api_key_present=True
  [PASS] safe_to_consume: safe_to_consume=True, mode=LIVE, reason=fresh_api_sync
  [PASS] secret_safe: Doctor reports presence booleans only. It does not print API keys or secret values.

CONTRACT_SEMANTIC_ASSERTIONS
{
  "api_latency_ms": 330.157,
  "cache_age_seconds": 0.186,
  "checks": {
    "api_key_present": true,
    "contract_version_113": true,
    "daemon_version_113": true,
    "deadband_threshold_visible": true,
    "lineage_rc5_present": true,
    "max_holdover_72h": true,
    "mode_live_or_rejoin_or_slewing": true,
    "monotonic_sequence_semantics_declared": true,
    "oscillator_boundary_declared": true,
    "poll_interval_30": true,
    "safe_to_consume_true": true,
    "uncertainty_boundary_declared": true,
    "valid_until_anchored_to_last_good_sync": true,
    "validity_not_laundered_from_serve": true,
    "witness_advisory_only": true,
    "witness_layer_ixoye": true,
    "witness_no_safe_effect": true
  },
  "health": "green",
  "last_sync_delta_ms": null,
  "mode": "LIVE",
  "monotonic_sequence": 1,
  "monotonic_sequence_semantics": "per_contract_serve",
  "reason": "fresh_api_sync",
  "remaining_validity_from_local_serve_sec": 44.813627,
  "safe_to_consume": true,
  "slew_threshold_ms": 250.0,
  "uncertainty_ms": 330.162,
  "valid_until_basis": "last_good_sync_plus_contract_live_valid_sec",
  "valid_until_minus_last_good_sync_sec": 45.0,
  "witness_ref": {
    "discovery": "/witness",
    "effect_on_safe_to_consume": "none",
    "enabled": true,
    "layer": "IXOYE",
    "policy": "advisory_only",
    "role": "out_of_band_attestation"
  }
}

EVIDENCE_POINTERS_FOR_REVIEW
validity_fix_source_runtime=RC5_VALID_UNTIL_SEMANTICS_SOURCE_RUNTIME_TEST_V0_1
rejoin_deadband_trigger_reproduction=RC5_REJOIN_DEADBAND_TRIGGER_REPRODUCTION_V0_1
rebuilt_binary_live_smoke=RC5_113_REBUILT_BINARY_READINESS_DIAG_V0_2
payload_codesign=RC5_113_MACOS_PAYLOAD_REFRESH_AND_CODESIGN_V0_1

KNOWN_ENTERPRISE_GAPS_NOT_CLAIMED_CLOSED
signed_IXOYE_attestation_chain=not_in_this_contract_yet
attestation_chain_head=not_in_this_contract_yet
runbooks=not_packaged_yet
long_clean_run_24h_72h=not_rerun_after_1.1.3_yet
latency_SLO_characterization=not_closed_yet

REVIEW_PROMPT_FOR_OTHER_IAS
Please review this GAL-2 RC5.1 / 1.1.3 Time Contract output as a public evaluator / enterprise pilot candidate. Focus on contract semantics, validity anchoring, safe_to_consume boundary, IXOYE advisory-only separation, monotonic_sequence semantics, deadband observability, and remaining enterprise-readiness gaps. Do not treat IXOYE as a time source or fallback.

DAEMON_LOG_TAIL_REDACTED
{"api_key_present":true,"bind_host":"127.0.0.1","bind_port":9505,"config_present":true,"config_source":"/usr/local/gal2/config/daemon.env","contract_version":"1.1.3-contract-rc5-ixoye-witness-validity-deadband-observability-fix","daemon_version":"1.1.3-rc5-ixoye-witness-validity-deadband-observability-fix","event":"daemon_start","level":"INFO","local_role":"contract_enforcement_layer","service":"gal2d-rc5-ixoye-witness","source_authority":"gal2_api_core","timestamp":"2026-06-11T12:53:56.501982+00:00"}
{"api_latency_ms":330.157,"contract_version":"1.1.3-contract-rc5-ixoye-witness-validity-deadband-observability-fix","daemon_version":"1.1.3-rc5-ixoye-witness-validity-deadband-observability-fix","event":"api_sync_success","level":"INFO","local_role":"contract_enforcement_layer","mode":"live","quota_status":"ok","requests_limit":100000,"requests_used":1,"service":"gal2d-rc5-ixoye-witness","source_authority":"gal2_api_core","timestamp":"2026-06-11T12:53:56.832708+00:00"}
{"contract_version":"1.1.3-contract-rc5-ixoye-witness-validity-deadband-observability-fix","daemon_version":"1.1.3-rc5-ixoye-witness-validity-deadband-observability-fix","event":"mode_transition","level":"INFO","local_role":"contract_enforcement_layer","mode":"LIVE","previous_mode":null,"previous_reason":null,"reason":"fresh_api_sync","safe_to_consume":true,"service":"gal2d-rc5-ixoye-witness","source_authority":"gal2_api_core","timestamp":"2026-06-11T12:53:57.019093+00:00"}
{"api_latency_ms":330.157,"cache_age_seconds":0.186,"contract_version":"1.1.3-contract-rc5-ixoye-witness-validity-deadband-observability-fix","daemon_version":"1.1.3-rc5-ixoye-witness-validity-deadband-observability-fix","event":"contract_served","level":"INFO","local_role":"contract_enforcement_layer","mode":"LIVE","reason":"fresh_api_sync","request_id":"local-0000000000000001","safe_to_consume":true,"service":"gal2d-rc5-ixoye-witness","source_authority":"gal2_api_core","timestamp":"2026-06-11T12:53:57.019144+00:00"}
{"api_latency_ms":330.157,"cache_age_seconds":4.563,"contract_version":"1.1.3-contract-rc5-ixoye-witness-validity-deadband-observability-fix","daemon_version":"1.1.3-rc5-ixoye-witness-validity-deadband-observability-fix","event":"contract_served","level":"INFO","local_role":"contract_enforcement_layer","mode":"LIVE","reason":"fresh_api_sync","request_id":"local-0000000000000002","safe_to_consume":true,"service":"gal2d-rc5-ixoye-witness","source_authority":"gal2_api_core","timestamp":"2026-06-11T12:54:01.395588+00:00"}

STOP_DAEMON

GAL2_RC5_113_FINAL_CONTRACT_OUTPUT_FOR_AI_REVIEW_V0_1=PASS
