Skip to content

Hypatia dogfooding job red estate-wide — unresolvable setup-beam pins (companion to hypatia-side fix) #64

@hyperpolymath

Description

@hyperpolymath

Summary

The Hypatia Neurosymbolic Analysis (Dogfooding) job in hypatia-scan.yml has been failing on every run, independent of PR content — red on already-merged PRs (#58, #60) and every new PR (#62). This erodes CI signal estate-wide (real failures are masked by a permanently-red advisory job).

Why it is not the scan/findings

  • The scan step runs hypatia-cli.sh scan . --exit-zero — findings cannot fail the step.
  • The only gate ("Check for critical issues") is explicitly "Warn but don't fail — fix forward" and never calls exit 1.
  • The job fails in ~12s consistently — too fast to have cloned/built the scanner. The failure is in an earlier step.

Root cause (high confidence)

The Setup Elixir for Hypatia scanner step pinned:

elixir-version: '1.19.4'
otp-version: '28.3'

These versions are not in the setup-beam index, so the step fails fast on every run.

Immediate fix

A standards-side fix is up as a draft PR (branch claude/fix-hypatia-dogfooding-pins): pins corrected to resolvable loose elixir 1.18 / otp 27. Verify those versions actually build the Hypatia scanner and bump deliberately if newer is required.

Permanent fix (so this never silently rots again)

Tracked upstream in hyperpolymath/hypatia (issue text drafted; out of this repo's scope to file from here):

  1. Publish and own a supported-toolchain matrix (the OTP/Elixir versions the scanner builds against) as the single source of truth for downstream *-scan.yml workflows.
  2. Add a CI smoke job in hypatia that runs setup-beam with that matrix + mix escript.build, so a toolchain-pin regression fails there, loudly — not as N red consumer repos.
  3. Decide policy: keep the consumer dogfooding job hard-failing (fine once pins are valid) or mark it continue-on-error: true if it is meant to be advisory, so a tooling outage never masks real CI signal.

Acceptance criteria

  • Dogfooding job green on an unrelated no-op PR.
  • A bad toolchain pin is caught by a check in hypatia itself, not by red consumer repos.

Filed as the in-scope companion to the hypatia-side permanent fix. Inferred from CI timing + workflow logic; confirm via the Setup Elixir step output on any recent failing run.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions