build gate: "not measurable" was wrong, and it is why this sat unmoved

This header said the actions/runners endpoints 404 on this Forgejo version, so
runner state "was not directly measurable". Only the LISTING endpoint 404s. Both
registration-token endpoints return 200 and issue a 40-char token on demand:

  /api/v1/repos/doxa-life/doxa-maps/actions/runners/registration-token
  /api/v1/admin/runners/registration-token

That distinction matters more than it looks. "Not measurable" reads as "nothing
to try", and this workflow has sat designed-but-never-run for weeks while the
one action that would activate it was API-reachable the whole time.

The header's load-bearing claim is unaffected and re-verified today: still
total_count 0, still never run.

It also cited a handoff doc twice — in this header, and beside "the ONE Driver
action that registers it" — and that file did not exist. It does now, at the
path cited, written from measured server facts rather than generic Forgejo
advice: version 9.0.3+gitea-1.22.0, has_actions true, the label the runner must
carry (ubuntu-latest, or every job queues forever looking exactly like no
runner), the github.com reachability the setup-bun action needs, and the
confirmation step that distinguishes "registered" from "actually ran".

Note this commit touches only .forgejo/, which paths-ignore excludes — so it
will not trigger a build even once a runner exists. That is intended.
This commit is contained in:
doxa-maps-88655c70 2026-09-24 15:19:56 +00:00
parent 7a649b6845
commit d2231f3302

View file

@ -16,9 +16,19 @@
# today: every real build is serialized only by the local flock in
# internal/build-lock.sh. Do not rely on this file to prevent a concurrent-build
# race until a runner is registered AND a run is observed in the Actions tab.
# (The actions/runners endpoints 404 on this Forgejo version, so runner state was
# not directly measurable — the 0-runs figure is the load-bearing fact, and it
# holds regardless: 138 pushes with a working runner would have produced runs.)
# RE-VERIFIED 2026-09-24: still total_count 0. The 0-runs figure is the
# load-bearing fact and it holds — pushes with a working runner would have
# produced runs.
# ⚠ CORRECTION to what this header used to say. It claimed "the actions/runners
# endpoints 404 on this Forgejo version, so runner state was not directly
# measurable". Only the LISTING endpoint 404s. Both registration-token endpoints
# return 200 and issue a 40-char token on demand (measured 2026-09-24):
# /api/v1/repos/doxa-life/doxa-maps/actions/runners/registration-token
# /api/v1/admin/runners/registration-token
# So registering a runner is API-reachable, not a blocked unknown — which matters,
# because "not measurable" reads as "nothing to try" and that is why this sat.
# The step-by-step is in the handoff doc cited below, which EXISTS as of
# 2026-09-24: it was referenced twice here and had never been written.
#
# THE CONTRACT for a swarm agent:
# edit files -> git commit -> git push (DONE. never run `bun run build`.)