Skip to content

fix(janitor): add cortextos+conduit to dependabot-janitor repo scope - #50

Open
asachs01 wants to merge 1 commit into
mainfrom
fix/dependabot-janitor-scope-cortextos-conduit
Open

fix(janitor): add cortextos+conduit to dependabot-janitor repo scope#50
asachs01 wants to merge 1 commit into
mainfrom
fix/dependabot-janitor-scope-cortextos-conduit

Conversation

@asachs01

@asachs01 asachs01 commented Aug 17, 2026

Copy link
Copy Markdown
Member

dependabot-janitor.sh's repo-scope regex only matches -mcp$|^mcp|^node- — cortextos and conduit never match, so their own Dependabot PRs get zero auto-merge coverage today. agent-merge-janitor deliberately excludes any package.json/lockfile touch by design (confirmed with boss+warden 2026-08-02), so this is the correct home for that traffic, not a gap in the newer janitor.

Added by exact repo name (^cortextos$|^conduit$) rather than widening the existing pattern, since neither repo shares the mcp-server shape this script was built around.

Verified the change against the script's own discovery pipeline before opening this PR — both repos now appear in the resulting REPOS array.

Note: the Dependabot Janitor workflow is currently disabled_manually (unrelated — pending the .github CI-split precondition, task_1786765529531). This change has zero live effect until that lands and the workflow is re-enabled. Not urgent, opened now so it's ready.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Follow-up from task_1785685546659 (agent-merge-janitor design, 2026-08-02).
dependabot-janitor.sh's repo-scope regex only matches -mcp$|^mcp|^node- —
cortextos and conduit never match, so their own Dependabot PRs get zero
auto-merge coverage today. agent-merge-janitor deliberately excludes any
package.json/lockfile touch by design, so this is the correct home for
that traffic, not a gap in the newer janitor.

Added by exact repo name (^cortextos$|^conduit$) rather than widening
the existing pattern, since neither repo shares the mcp-server shape this
script was built around.

Verified the change against the script's own discovery pipeline before
opening this PR: both repos now appear in the resulting REPOS array.

NOTE: the Dependabot Janitor workflow is currently disabled_manually
(unrelated, pending task_1786765529531 — the CI-split precondition on
.github's own vacuous PR checks). This change has zero live effect until
that's resolved and the workflow is re-enabled.
@asachs01

Copy link
Copy Markdown
Member Author

Automated review (forge):

Reviewed the diff (.github/scripts/dependabot-janitor.sh, +7/-2) against current main.

Correctness: straightforward and correct. Adds ^cortextos$|^conduit$ as exact-name alternatives in the existing scope regex, rather than widening the -mcp$|^mcp|^node- pattern to cover these two repos — the right call since neither shares the mcp-server shape the pattern was built around. Confirmed the comment's rationale (agent-merge-janitor deliberately excludes package.json/lockfile touches) is consistent with how the janitor scripts are described in the related PRs (#51/#54/#55). No behavior change to any repo currently matched by the existing pattern.

Live effect: correctly scoped as inert today — dependabot-janitor is disabled_manually, so this has zero runtime effect until it's re-enabled (tracked separately per the PR body).

CI: actionlint green, no other checks relevant to a shell-only change.

Collision risk: this PR, #54, and #55 all modify .github/scripts/dependabot-janitor.sh starting from the same base blob (5b5f512), in different regions of the file (this one touches the REPOS discovery grep near the top; #54 touches classify(); #55 touches the merge call near the bottom). That's why #50 and #54 currently show CONFLICTING/DIRTY against current main while #55 is still MERGEABLE/CLEAN — not a dependency ordering issue, just same-file edit collision. Whichever of the three merges first will very likely knock the other two into CONFLICTING and they'll need a rebase (conflicts should be mechanical/non-overlapping given the different regions touched).

Verdict: safe to merge as written, pending Aaron's go-ahead and the rebase that'll be needed depending on merge order with #54/#55.

asachs01 added a commit that referenced this pull request Aug 31, 2026
…ent overlap (#69)

Three open PRs (#26, #50, #54) all showed mergeable=CONFLICTING against
current main. None of their real changes overlap line-for-line — the
conflicts are purely stale-diff artifacts of main having moved on since
each PR's fork point (#66's dual-org repo-enumeration restructure in
particular). This reapplies all three fixes' actual intent by hand onto
current main, in dependency order (both #50 and #54 touch
dependabot-janitor.sh).

#54 (classify() group-PR hardening, supersedes #23): a Dependabot "group"
PR title no longer proves minor/patch. classify() now fetches the PR body
via REST and requires every per-dependency "from A to B" marker to be
same-major, failing closed otherwise. Reapplied verbatim except the body
fetch now calls `repos/$repo/pulls/$num` directly (since $repo is already
"org/name" post-#66) instead of #54's original `repos/$ORG/$repo/...`.
Adds dependabot-janitor.test.sh (14 assertions, real fixtures) — verified
byte-identical to #54's original test file aside from that same $ORG->
$repo adaptation; all 14 assertions pass unmodified.

#50 (cortextos/conduit scope carve-out): reapplied by hand onto the
current multi-org enumeration loop (#66) rather than #50's own stale
single-org grep pipeline — added `|^cortextos$|^conduit$` to the
still-present grep -E inside the `for _org in $ORGS` loop.

#26 (mcp-server-release.yml always() gating): the release job's "Detect
released version" step now runs with `if: always()`, and the docker job's
gate is `if: always() && needs.release.outputs.released == 'true'`, so a
non-fatal failure after semantic-release cuts a release (e.g. a flaky
git-notes push) can't silently skip artifact publishing. Investigated the
apparent second `id: detect` in the current file: it is an unrelated step
in the (post-#26) mcpb job that checks for a pack:mcpb script, not a
duplicate release-detection block — #26's fix applies to exactly the one
occurrence it always targeted. Flagged in the CHANGELOG that mcpb's own
released=='true' gate has an analogous latent exposure, left out of scope
here since it predates neither #26 nor this reconciliation.

Verified: shellcheck clean on dependabot-janitor.sh (baseline was already
clean); dependabot-janitor.test.sh carries only pre-existing info-level
notices inherited from #54's original file (one pre-existing SC2034
warning was fixed by dropping the now-unused $ORG var); all 14 tests
pass; mcp-server-release.yml parses as valid YAML.

Refs: #26, #50, #54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

1 participant