Skip to content

ci: repair the two workflows whose failure was in the workflow - #3324

Merged
gHashTag merged 1 commit into
masterfrom
w118a-two-workflows-that-could-not-pass
Sep 5, 2026
Merged

ci: repair the two workflows whose failure was in the workflow#3324
gHashTag merged 1 commit into
masterfrom
w118a-two-workflows-that-could-not-pass

Conversation

@gHashTag

@gHashTag gHashTag commented Sep 5, 2026

Copy link
Copy Markdown
Owner

Refs #3316

Two of the four remaining FIXes from the never-green triage. A third is
withdrawn — my diagnosis of it was wrong.

coq-proofs.yml — never passed, and could not verify its own repair

options: --user root runs the container as root, but the coqorg image
initialises opam for the coq user under /home/coq/.opam. As root OPAMROOT
defaults to /root/.opam, which does not exist:

[WARNING] Running as root is not recommended
[ERROR] Opam has not been initialised, please run `opam init'
##[error]Process completed with exit code 50.

OPAMROOT now points at the root the image actually built, and each step
re-enters the switch, because a new step is a new shell. --user root stays —
checkout writes into a workspace root owns.

Separately: push: listed this workflow file in its paths and pull_request:
did not, so a PR repairing this workflow could not run it, and any repair
shipped unverified. That is presumably how it stayed broken since August. Added
— and it is what lets this PR check its own fix.

brain-seal-refresh.yml — a step that cannot succeed

Commit brain seals runs git push to master. The branch ruleset refuses that,
so all three runs ever (2026-04-07, 2026-06-01, 2026-08-28) end:

remote: error: GH013: Repository rule violations found
 ! [remote rejected] master -> master

and only that step ever failed — aggregation, schema validation and artifact
upload passed every time. Removed rather than worked around: pushing to master is
what the ruleset exists to prevent, and refreshing seals on master needs a PR,
which is a different change. permissions drops contents: writeread.

What the job now reports is whether the seals still validate against
BRAIN_SEAL_SCHEMA — the signal the permanent red was burying.

lean-proofs.yml — withdrawn, I was wrong

8571 of 8574 targets build. The two that fail are marked in the source:

-- LEFT FAILING, DELIBERATELY.                           H4Lagrangian.lean:73
-- LEFT FAILING, DELIBERATELY, AND THIS IS THE ONLY ONE. H4Lagrangian.lean:108

norm_num does not evaluate Real.pi, Real.exp or Real.sqrt. The job is red
because it is telling the truth, and the workflow's own header already says that
outcome is the finding. Nothing to fix in the workflow. Closing the two goals is
real analysis, not configuration.

Refs #3316

Two of the four remaining FIXes from the never-green triage. The third is
withdrawn: see below.

coq-proofs.yml -- never passed. `options: --user root` runs the container as
root, but the coqorg image initialises opam for the `coq` user under
/home/coq/.opam, so OPAMROOT defaults to /root/.opam and opam reports itself
uninitialised:

    [WARNING] Running as root is not recommended
    [ERROR] Opam has not been initialised, please run `opam init'
    ##[error]Process completed with exit code 50.

OPAMROOT now points at the root the image actually built, and each step
re-enters the switch, because a new step is a new shell. `--user root` stays:
checkout writes into a workspace root owns.

Its `pull_request:` paths did not list this file although `push:` did, so a PR
repairing this workflow could not run it and any repair shipped unverified.
That is presumably how it stayed broken. Added, and it is what lets this PR
check its own fix.

brain-seal-refresh.yml -- the `Commit brain seals` step runs `git push` to
master. The branch ruleset refuses that, so all three runs of this workflow
(2026-04-07, 2026-06-01, 2026-08-28) end:

    remote: error: GH013: Repository rule violations found
    ! [remote rejected] master -> master

and only that step ever failed; aggregation, schema validation and artifact
upload passed every time. Removed rather than worked around -- pushing to
master is what the ruleset exists to prevent, and refreshing the seals on
master needs a PR, which is a different change. `permissions` drops from
`contents: write` to `contents: read`, since nothing left needs write. What
the job now reports is whether the seals still validate against
BRAIN_SEAL_SCHEMA, which is the signal the permanent red was burying.

lean-proofs.yml -- WITHDRAWN from the FIX list; my earlier diagnosis of it was
wrong. 8571 of 8574 targets build. The two that fail are marked in the source:

    -- LEFT FAILING, DELIBERATELY.                          H4Lagrangian.lean:73
    -- LEFT FAILING, DELIBERATELY, AND THIS IS THE ONLY ONE. H4Lagrangian.lean:108

`norm_num` does not evaluate `Real.pi`, `Real.exp` or `Real.sqrt`. The job is
red because it is telling the truth, and the workflow's own header says that
outcome is the finding. Nothing to fix here.
@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-09-05 18:41:49 UTC

Summary

Status Count
Total Open PRs 14
PRs with Failing Checks 10
PRs with All Checks Green 4
READY 2
FAILING 10
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=ffccfa1a71cf != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@gHashTag
gHashTag merged commit 95d93c6 into master Sep 5, 2026
27 of 30 checks passed
gHashTag added a commit that referenced this pull request Sep 5, 2026
…have (#3326)

Refs #3316

#3324 fixed OPAMROOT and the job got further: opam now updates both
repositories and reaches the solver. It then fails on a second, independent
defect that was invisible until the first was repaired:

    [ERROR] Package conflict!
      * Missing dependency:
        - coq-interval = 4.9.0 -> coq < 8.19~
    No solution found, exiting

The image is coqorg/coq:8.19-ocaml-4.14-flambda. The pin asks for a package
that requires a Coq older than the one it runs on, so it could never have
installed.

The dependency is real and is not droppable: 7 of the 13 compiled files
`Require Import Interval.Tactic` (Bounds_Masses, Bounds_Mixing, Bounds_Gauge,
Bounds_LeptonMasses, Bounds_QuarkMasses, Unitarity, ConsistencyChecks). Only
the version can move.

Left unpinned on purpose rather than pinned to a guess. No version of
coq-interval has been observed resolving against Coq 8.19 in this job, because
the job has never run far enough to try. `opam list --installed coq-interval`
now prints what the solver chose; that reading is what a pin should be restored
from, in a commit that can cite it.

This PR runs the workflow on itself -- #3324 added this file to the
`pull_request` paths for exactly this reason.

Co-authored-by: lab <lab@example.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant