Skip to content

ci: real paths for release-ci, putitoutthere-config-check and changelog-check - #902

Closed
thekevinbot wants to merge 3 commits into
claude/834-dirsql-rust-cifrom
claude/834-release-changelog-ci
Closed

thekevinbot wants to merge 3 commits into
claude/834-dirsql-rust-cifrom
claude/834-release-changelog-ci

Conversation

@thekevinbot

Copy link
Copy Markdown
Collaborator

Definition layer D8 of #834, the last (replaces #895). Base is #901. Placeholder count: 0 — every trigger disabled by #880 is restored.

  • release-precheck.yml → release-ci.yml. Paths = union of every [[package]] globs entry in putitoutthere.toml + the config itself; fragments and attestations excluded; package READMEs included (they ship — PyPI long-description, npm tarball, crate archive). Stays one workflow: putitoutthere's build.yml has no package filter (verified at the v0 sha), and its plan job already change-detects per package inside the run.
  • release-config-check.yml → putitoutthere-config-check.yml, triggering only on putitoutthere.toml.
  • changelog-check.yml: packages/** minus e2e-attestations/ (filtered out of the gate's code_touched, so they cannot alter its verdict). plugins/ deliberately absent — the gate cannot see plugin fragments (changelog-gate cannot see plugins/ — plugin changes are not changelog-enforced #896).

Expected checks: zero (workflow-only diff). Everything above this layer is a probe.

E2E Verification

N/A - CI configuration only


Generated by Claude Code

Copy link
Copy Markdown
Collaborator Author

Before merging: this stack is not GitHub-native, so a single merge here will not land it

The plan for this epic assumed pushing to a stack branch triggers GitHub's cascading rebase, and that merging mid-stack lands every layer beneath. Neither is happening on these PRs — they are ordinary base-chained PRs, not a registered stack. Two consequences.

1. The layers were out of sync, and are now reconciled

After the path fixes were pushed to #899 / #900, nothing above them moved. Measured:

374221e (python fix) ancestor of claude/834-release-changelog-ci ?  NO
23797f2 (ts fix)     ancestor of claude/834-release-changelog-ci ?  NO

So a merge at that point would have landed the release-ci / changelog-check changes while silently dropping the python and ts path fixes. The 29 branches from claude/834-dirsql-ts-ci upward have since been rebased by hand, bottom-up, onto their corrected parents. Verified on the remote refs at the #902 tip: dirsql-python-ci.yml, dirsql-typescript-ci.yml and release-ci.yml all carry the rust fragment/README excludes, and changelog-check.yml no longer carries branches: [main].

2. base here is still a feature branch

This PR's base is claude/834-dirsql-rust-ci, not main — only #880 targets main. Merging this PR as-is would merge it into claude/834-dirsql-rust-ci, not into main. Two ways to land the stack:

#880's "must not merge before #881" constraint is already satisfied — #881 is merged.

Probes are gone

All 26 throwaway probes (#903–#928) are closed unmerged, as are the four main-based probes (#935–#938). Their branches could not be deleted from the agent sandbox (GitHub returns 403 on ref deletion for this session's credentials), so the claude/834-probe-*, claude/834-*-probe and claude/834-mainprobe-* refs need a manual sweep. Nothing points at them.

Verification results the probes produced, before they were closed: #924 and #925 — a rust changelog fragment and a rust README edit — went from 47 checks each to 1, that one being a green Changelog Check. All 27 rows of the expected table matched.


Generated by Claude Code

claude added 3 commits August 14, 2026 15:29
…og-check

The last three placeholders, restored with real globs. Placeholder count is
now zero: every PR trigger disabled by the baseline layer is re-enabled.

release-precheck.yml becomes release-ci.yml. Its paths are the union of every
[[package]] globs entry in putitoutthere.toml plus the config itself; the
plan job change-detects against those same globs, so per-package subdivision
happens inside the run (a python-only PR plans only dirsql-py). putitoutthere
build.yml exposes no package filter and the release cascade is cross-package
by design, so this stays one workflow rather than splitting per package.
Fragment and attestation dirs are excluded: they ship in no artifact. The
plugin's README stays in scope -- hatchling embeds it as the PyPI
long-description, so it is a build input -- and the plugin is named
explicitly rather than plugins/*.

release-config-check.yml becomes putitoutthere-config-check.yml, named for
the tool whose config it validates, triggering only on putitoutthere.toml.

changelog-check.yml keeps its name and gains packages/** paths. Not
decomposed per package: the gate already reasons per package internally
(changed_packages / code_touched), runs once, and reports one check. plugins/
is deliberately absent -- the gate's matchers are hardcoded to
packages/<pkg>/, so it cannot see plugin fragments and running it on a
plugin change is a vacuous pass; plugin changelog enforcement is a gate gap
tracked in its own issue.

skip-changelog: CI configuration only, no packages/** change

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GECJQGPKgycnh4hrhzrDYP
… base

Rust fragments stop shipping in the crate (Cargo.toml exclude, landing
separately), so they cannot alter release-ci's verdict. changelog-check's
gate is diff-scoped via base.sha, so the branches filter only hid it from
stacked PRs.

skip-changelog: CI configuration only
…heck.yml on edits to their own files

The pull_request self-path was omitted while this stack was being probed, so
definition layers reported zero checks and the probe PRs measured cleanly.
The probes are read and closed, and the YAML layers were always separate PRs
from them, so the suppression has no remaining purpose -- it only leaves
CI-config-only PRs with no checks at all, which merge vacuously green under
the post-#881 Mergify gate.

skip-changelog: CI configuration only
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.

2 participants