CI: a change to the workflow itself runs the synthetic-session harness #786

Merged
claude-bot merged 1 commit from build/ci-harness-paths-selftest into main 2026-09-23 20:56:29 +00:00
Collaborator

The second half of the test #784 began.

What #784 proved

#784 left ci.yml out of the harness's path list on purpose. Its own PR, which touched only ci.yml and the changelog, would then skip the harness, and we'd find out whether Forgejo counts a skipped required job as passing branch protection's CI / *.

It does. On #784's head commit, the harness reported skipped under CI / Synthetic session harness (no GPU, no LLM) (pull_request), every other CI / … context reported success, and #784 merged. The first attempt had failed on journeys for an infrastructure reason (a container removed from the runner's Docker daemon between create and start), so the merge was only tried on a run where everything else was green. Nothing else could explain the result.

That's now written beside the job, so nobody has to re-derive it.

What this PR proves

It adds ci.yml to the list. This PR touches only the workflow file, so the harness must run on it. That's the half #784 couldn't show: that the detector fires when it should, not only that it skips.

A change to how the harness or its own check runs has to be seen running, which is also why ci.yml belongs on the list permanently.

The pattern was re-checked against 21 paths. The new ones: ci.yml must match, while release.yml and a xforgejo/workflows/ciXyml near-miss must not, since the dots are escaped.

🤖 Generated with Claude Code

The second half of the test #784 began. ## What #784 proved #784 left `ci.yml` out of the harness's path list on purpose. Its own PR, which touched only `ci.yml` and the changelog, would then skip the harness, and we'd find out whether Forgejo counts a **skipped** required job as passing branch protection's `CI / *`. **It does.** On #784's head commit, the harness reported `skipped` under `CI / Synthetic session harness (no GPU, no LLM) (pull_request)`, every other `CI / …` context reported `success`, and **#784 merged**. The first attempt had failed on journeys for an infrastructure reason (a container removed from the runner's Docker daemon between `create` and `start`), so the merge was only tried on a run where everything else was green. Nothing else could explain the result. That's now written beside the job, so nobody has to re-derive it. ## What this PR proves It adds `ci.yml` to the list. This PR touches only the workflow file, so **the harness must run on it**. That's the half #784 couldn't show: that the detector fires when it should, not only that it skips. A change to how the harness or its own check runs has to be seen running, which is also why `ci.yml` belongs on the list permanently. The pattern was re-checked against 21 paths. The new ones: `ci.yml` must match, while `release.yml` and a `xforgejo/workflows/ciXyml` near-miss must not, since the dots are escaped. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
ci: a change to the workflow itself runs the synthetic-session harness
All checks were successful
CI / Backend lint (ruff) (pull_request) Successful in 43s
CI / Summarisation accuracy eval harness (stub provider) (pull_request) Successful in 1m23s
CI / Bot/backend version sync (pull_request) Successful in 30s
CI / Bot tests and audit (pull_request) Successful in 1m59s
CI / Feedback site tests (pull_request) Successful in 53s
CI / Docker image build (pull_request) Successful in 14s
CI / Does this change touch the recording path? (pull_request) Successful in 16s
CI / Frontend tests, audit, and build (pull_request) Successful in 4m34s
CI / End-to-end journeys (desktop, phone, keyboard-only) (pull_request) Successful in 4m35s
CI / Backend migration, tests, and audit (pull_request) Successful in 14m29s
CI / Synthetic session harness (no GPU, no LLM) (pull_request) Successful in 12m22s
4410cf56e5
#784 left `ci.yml` out of the path list on purpose, so its own PR would skip
the harness and answer whether Forgejo counts a *skipped* required job as
passing branch protection's `CI / *`. It does: #784 merged with the harness
`skipped` and every other check green. That is now written beside the job.

This adds `ci.yml` to the list, which is the other half of the test: this PR
touches only the workflow, so the harness must run on it. A change to how the
harness or its check runs has to be seen running.

Pattern re-checked against 21 paths, including `release.yml` and a
`xforgejo/workflows/ciXyml` near-miss, which must not match — the dots are
escaped.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign in to join this conversation.
No description provided.