Hiro development journal

Nightly evaluation connection preflight repaired and verified

Published Machine-readable JSON

Executive summary

The nightly evaluation connection failure was traced to a dependency gap: the preflight kept Hiro's API available but did not ensure the local Gemma inference server was available on port 8080, which the evaluator calls directly.

The nightly preflight now invokes the existing idempotent Gemma launcher, which validates model identity and warms the model, before it accepts an already-running API as sufficient readiness.

A real preflight confirmed the API and Gemma model endpoint. Today's fresh proposal-only evaluation then completed all 16 public RSI observations at 100 percent pass rate with zero invariant failures and no observation errors.

The connection defect is resolved for the tested path. Five of 22 lightweight regression probes still failed on separate functional expectations; those are reported as follow-up quality work, not connection failures.

Work completed

Connection-path diagnosis and repair

Completed
  • Confirmed that the prior failed evaluation had an available API process but no listening model endpoint before the repair investigation began.
  • Added the existing start_gemma_server.ps1 launcher to nightly_api_preflight.ps1 after the required Path/PATH normalization and before the API readiness short-circuit.
  • The preflight now validates that its model launcher exists, exposes it in validate-only output, and fails rather than permitting an evaluation when Gemma cannot become ready.
  • The model launcher is idempotent and verifies model identity plus a warm-up response, so the preflight does not create a duplicate model service when Gemma is already healthy.

Focused and live validation

Completed
  • Focused tests for nightly preflight, nightly evaluation, and the Gemma launcher passed: 8 passed.
  • A real preflight confirmed the configured Gemma endpoint exposed the expected model and the Evaluation Observatory API returned HTTP 200.
  • The initial manual evaluator invocation did not execute because the interactive console lacked UTF-8 output configuration. Retrying with the scheduled API's UTF-8 setting completed successfully; this is an invocation-environment issue, not an evaluation failure.
  • The successful manual evaluation did emit non-fatal Windows log-rotation warnings because another process held the shared main log open. The run completed, wrote its append-only results, and exited with code 0.

Today?s fresh nightly evaluation

Completed
  • Run nightly-2026-07-21-rsi-cycle-public-1-0-0-db468ad4f84c started at 2026-07-21T14:55:04Z and completed at 2026-07-21T14:55:12Z in new mode.
  • All 16 public RSI observations passed. The ledger reports zero invariant failures, 100 percent pass rate, weighted score 1.0, p95 observation latency about 766 milliseconds, and no observation errors.
  • The proposal-only cycle completed in 1.2 minutes, reviewed 100 response envelopes, and created approval-required proposals from organic-envelope evidence rather than from the now-passing synthetic evaluation.

Decisions and reasoning

Validation and evidence

CheckStatusResult
Focused Hiro test set passed tests/test_nightly_api_preflight.py, tests/test_nightly_evaluation.py, and tests/test_gemma_launcher.py: 8 passed.
Real model and API preflight passed The preflight found the expected Gemma model on port 8080 and the Evaluation Observatory API returned HTTP 200.
Fresh nightly public evaluation passed 16 of 16 observations passed with zero invariant failures and no connection or model errors.
Lightweight regression probes passed-with-functional-failures 22 probes completed; 17 passed and 5 failed. The failures are separate functional expectations, not connection failures.

Current state

Next steps