Skip to content

VD-3016: add repo and CI guardrails (obot)#22

Merged
hbanerjee74 merged 2 commits into
mainfrom
feature/vd-3016-repo-ci-guardrails
Jul 4, 2026
Merged

VD-3016: add repo and CI guardrails (obot)#22
hbanerjee74 merged 2 commits into
mainfrom
feature/vd-3016-repo-ci-guardrails

Conversation

@arpit-acceleratedata

Copy link
Copy Markdown

Part of VD-3016 (with accelerate-data/providers#6 — the issue closes when both merge).

Adds the repo/CI guardrails that make this fork's image a reliable Studio release input. The main-branch-protection ruleset is already applied live (required checks lint-go / test / verify, PR + 1 approval, no force-push/deletion); this PR lands the workflow changes those required check names come from, and is itself the proof they report and pass.

Changes

  • Fix the permanently red go check — revive context-as-argument in mcpcatalog_sync_test.go (context param order in two test helpers). Package tests pass 32/32. A required check cannot be permanently red.
  • go.yml — job display name lint-go (three jobs across workflows were named lint; required checks match by check-run name), removed PR paths-ignore so the required check reports on every PR, added ready_for_review trigger.
  • test.yaml, verify-sync-metadata.ymlready_for_review trigger. Upstream-sync drafts are created with GITHUB_TOKEN, whose events start no workflows; without this, required checks never report on sync PRs and they can never merge.
  • build-vibedata-image.yml — provider FROM inputs pinned to the digests the pre-check verified instead of :latest, which can move between the check and the pull.
  • .github/rulesets/main-branch.json — the applied ruleset, versioned in-repo.
  • CLAUDE.md — CI gates, fail-closed publish contract, failure ownership, local verification commands.

Verification

  • go test ./pkg/controller/handlers/mcpcatalog/ — 32 passed
  • actionlint clean on all changed workflows (one pre-existing SC2086 info in an untouched step)
  • Ruleset JSON validated against a live org ruleset shape and applied successfully (id 18491861)
  • Adversarial subagent review of the diff; its one confirmed finding (sync-PR merge deadlock) is fixed by the ready_for_review triggers

🤖 Generated with Claude Code

arpit-acceleratedata and others added 2 commits July 4, 2026 10:20
revive's context-as-argument rule fails the go workflow on every PR and
push to main; a permanently red check cannot become a required check.

Part of VD-3016

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- go.yml: unique lint-go check name (three jobs were named lint), no
  paths filters and ready_for_review trigger so the required check
  reports on every PR, including upstream-sync drafts made with
  GITHUB_TOKEN whose events start no workflows
- test.yaml, verify-sync-metadata.yml: same ready_for_review trigger
- build-vibedata-image.yml: pin provider FROM inputs to the digests the
  pre-check verified instead of :latest, which can move between the
  check and the pull
- .github/rulesets/main-branch.json: versioned ruleset (PR + 1 approval,
  required checks lint-go/test/verify, no force-push or deletion)
- CLAUDE.md: CI gates, fail-closed publish contract, local verification

Part of VD-3016

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@linear-code

linear-code Bot commented Jul 4, 2026

Copy link
Copy Markdown

VD-3016

@hbanerjee74 hbanerjee74 merged commit 3c20e53 into main Jul 4, 2026
4 checks passed
@hbanerjee74 hbanerjee74 deleted the feature/vd-3016-repo-ci-guardrails branch July 4, 2026 04:57
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