Skip to content

Trial P-45 (pass): Dependabot opens its pin update and pushes its head as dependabot[bot] - #297

Merged
don-petry merged 3 commits into
mainfrom
trials/p-45-dependabot
Oct 22, 2026
Merged

don-petry merged 3 commits into
mainfrom
trials/p-45-dependabot

Conversation

@don-petry

@don-petry don-petry commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Trial P-45, by the working rulings on #251 (ruling 3): when a dependency bot updates an Action's pin in a workflow file, does it open the pull request and push its head under its own [bot] identity? Yes. The trial passes.

What ran, and what it showed

Set-up. Canary pull request 49 added two files:

  • .github/dependabot.yml, for GitHub Actions, allowed for actions/checkout alone;
  • a workflow pinning actions/checkout at v7.0.0's full sha, one release back. It runs only by hand, is granted nothing, and no one runs it.

The merge. The Maintainer merged pull request 49 at his own terminal, as P-33's merge was done. The ruleset on main was disabled for about fourteen seconds and restored. It reads active after.

What Dependabot did. It opened canary pull request 50, moving the pin to v7.0.1, and the trial read it:

Read Answer
Author, by REST dependabot[bot], Bot, id 49699333
Author, by GraphQL dependabot, Bot, databaseId 49699333
The head's pushes (branch activity, P-28's read) branch creation and a force-push, both by dependabot[bot], Bot
The head's commit authored by dependabot[bot], committed by GitHub's web-flow
What changed .github/workflows/p45-pinned.yml, the pin alone

So the bot is both author and last pusher, and its class is dependency under decision 0026's exact identity. The two APIs spell the account differently: the port tells it by id and type, never by a name's spelling, as adapters/pull.py already does.

What changes

  • trials/P-45.json, built from redacted captures. The pass condition was written at 18:00:10Z, before anything was made.
  • sim/grounding.py. a_dependency_bot_updates_a_workflow_pin names the fixture. The fake already applies it.
  • The design. §6's P-45 row records the verdict.
  • The test. test_a_dependency_bot_opens_and_pushes_its_update computes the pass from the reads.

The canary, step 8

  • Pull request 50 is closed unmerged, and Dependabot deleted its branch.
  • The trial's branch trial/p-45 is deleted.
  • dependabot.yml and the pinned workflow stay on main, as the ruling says. So Dependabot will open such a pull request again on a later release of actions/checkout, which a later trial reading the canary's pull requests should expect.

Reviews and verification

  • make verify passed in the worktree, with history, at SIM_SEEDS=40.
  • A fresh Claude review with a security pass on 47223cb found no blocker and no major. Its minors are fixed in the second commit:
    • ran_at is the pushed commit's time, read from GitHub;
    • the contract test holds the author and the last pusher equal, as the Kernel compares them;
    • the fixture notes the bot's own force-push before the pull request;
    • the grounding comment says a Lens's own workflow was not the one updated.
  • AGY and Muse: not run (the Maintainer, 2026-10-20: Kernel/hook only). Ruling 5 asks for neither.
  • Token. The trials run on the Maintainer's classic token, his choice for trials.

Closes #251: P-44 merged in #271, and this is P-45.

🤖 Generated with Claude Code

View guided diff Turn on auto-fix

don-petry and others added 2 commits October 21, 2026 18:07
…d as dependabot[bot]

By the working rulings on #251, ruling 3. Canary pull request 49 added dependabot.yml for
actions/checkout and a workflow pinned at v7.0.0; the Maintainer merged it under the ruleset,
disabled for about fourteen seconds and restored. Dependabot opened pull request 50, moving the pin
to v7.0.1: its author and every push to its head are dependabot[bot], a Bot, id 49699333, whom
GraphQL names dependabot; its commit is committed by GitHub's web-flow. The pull request is closed
unmerged, Dependabot deleted its branch, and trial/p-45 is deleted; dependabot.yml stays.

a_dependency_bot_updates_a_workflow_pin names the fixture, and the facts port's contract test reads it
there: the class is dependency only as the account named by id and type, and the last pusher is the
bot. Section 6's row records the pass, and a test computes it from the reads.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…sher held equal, and the notes

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@don-petry
don-petry requested a review from a team as a code owner October 21, 2026 23:27
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 21, 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 ⚠️ Failed 2026-10-22T00:02:16.048799Z
We couldn’t complete this review. Comment @codex review to try again.
4382e5a New commits
ℹ️ 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.

@coderabbitai

coderabbitai Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 25 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository: combsmith/software-factory/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 105b4cc0-71d1-4961-b85e-3b21ff6591b1
📥 Commits

Reviewing files that changed from the base of the PR and between 7e03db6 and 4382e5a.

📒 Files selected for processing: 6
  • docs/architecture/software-factory-design.md
  • sim/grounding.py
  • sim/world.py
  • tests/test_adapters.py
  • tests/test_tools.py
  • trials/P-45.json
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2e5f7d0517

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread sim/grounding.py
… own, still unverified

Codex on #297: P-45 updated an ordinary workflow, so it cannot ground the rule's claim that a Lens's
own pin is updated alike. a_dependency_bot_updates_a_workflow_pin keeps what the fixture shows, and
a_dependency_bot_updates_a_lens_pin, asked by P-45 and unverified, holds the rest, marked where the
fake applies it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@sonarqubecloud

Copy link
Copy Markdown

@don-petry
don-petry added this pull request to the merge queue Oct 22, 2026
Merged via the queue into main with commit d9fb8a6 Oct 22, 2026
19 checks passed
@don-petry
don-petry deleted the trials/p-45-dependabot branch October 22, 2026 00:31
don-petry added a commit that referenced this pull request Oct 22, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.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.

Trials P-44 and P-45: the lane's concurrency group, and a dependency bot's pin

1 participant