Skip to content

ci: retire the CircleCI stacked-review-threads job - #5777

Merged
Sinity merged 1 commit into
masterfrom
ci/retire-stacked-review-threads-job
Sep 29, 2026
Merged

Sinity merged 1 commit into
masterfrom
ci/retire-stacked-review-threads-job

Conversation

@Sinity

@Sinity Sinity commented Sep 29, 2026

Copy link
Copy Markdown
Owner

Summary

Removes the CircleCI stacked-review-threads job, devtools/stacked_review_threads.py, and its tests. The stacked-review-threads commit status is now posted by a Sinnix user timer (stacked-review-threads-status, Sinity/sinnix 49d11e9b), next to the existing codex-review status pass.

Problem

The job, added in #5740, failed on every PR with "no GitHub token". The CircleCI project has no GH_TOKEN, and nobody can administer that project from this login. The job also re-ran only on push, so resolving a thread left the result stale until the next commit.

Solution

The Sinnix pass authenticates with gh's persistent login and runs every two minutes over every open PR targeting master. It keeps the semantics of the deleted module. Every PR merged into the head branch counts. The walk recurses into each stacked PR's head branch, bounded by that PR's merge time. Expansion is keyed per PR, so each lifetime of a reused branch name gets its own bound. The walk is cycle-safe and follows pagination on merged PRs and threads.

It fails closed: a read error sets pending, never success. It writes a status only when the state changes. Reads are aliased per stack level, so a head with nothing merged into it costs no query of its own. With two authorities for one gate, one would be dead weight, so this PR deletes the CircleCI copy.

Verification

  • nix develop --command devtools verify --quick: verify: PASSED exit=0 (all 12 static gates ok).
  • git grep -n "stacked_review_threads\|stacked-review-threads" on this branch: no matches.
  • Before the deletion, both implementations were run read-only against every open master PR and gave the same verdict for all 25.
  • The live Sinnix pass posted stacked-review-threads: success on the open heads, for example fix(intake): one interpretation across live and retained routes #5643 (1 stacked PR has no unresolved review threads).

Residuals

  • stacked-review-threads becomes a required master context after this merges. Until then it is advisory.
  • The gate now depends on the workstation timer running. If the timer stops, no new head gets the status, so once the context is required those merges stay blocked. That failure is closed, not open.

🤖 Generated with Claude Code

https://claude.ai/code/session_015pdKaZWyGe6Ngvsz468dzg

The stacked-review-threads status is now posted by the Sinnix status
timer with gh's persistent login, every two minutes, so the CircleCI
job, its devtools module, and its tests leave with it: one authority
for the gate, and none that needs a CI secret.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015pdKaZWyGe6Ngvsz468dzg
@Sinity
Sinity enabled auto-merge (squash) September 29, 2026 00:13
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 29, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-29T00:14:45.368939Z 1c6a201 PR opened
🔒 Security Review ✅ Completed 2026-09-29T00:17:17.674785Z 1c6a201 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@Sinity
Sinity merged commit fe362cf into master Sep 29, 2026
4 checks passed
@Sinity
Sinity deleted the ci/retire-stacked-review-threads-job branch September 29, 2026 00:16
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