Skip to content

feat: add org-default control guardrails#82

Merged
haasonsaas merged 1 commit into
mainfrom
codex/github-open-issues-20260515
May 15, 2026
Merged

feat: add org-default control guardrails#82
haasonsaas merged 1 commit into
mainfrom
codex/github-open-issues-20260515

Conversation

@haasonsaas
Copy link
Copy Markdown
Contributor

Summary

  • add a versioned org control-plane contract, verifier, CI rail, and gh-api body regression coverage
  • add canonical label sync, agent MCP config rollout machinery, Codex hook guardrails, and archived Dependabot audit/runbook
  • add durable strategy/tooling profile docs for the AI-fleet positioning and TypeScript gts/wireit standardization path

Verification

@cursor
Copy link
Copy Markdown

cursor Bot commented May 15, 2026

PR Summary

High Risk
High risk because it introduces new GitHub Actions workflows and Ruby automation that can open PRs or mutate org repo labels, and it tightens validation gates for org-default changes. Errors in these scripts or token scoping could impact many repositories at once.

Overview
Adds an enforced .github/contracts/org-control-plane.yml plus verify-org-control-plane-contract.rb and CI wiring in codex-rails-check.yml to validate contract provenance/evidence and fail closed on drift.

Introduces org-wide rollout automation: sync-agent-mcp-config.rb + templates for committing EvalOps MCP client config into repos (and a agent-mcp-config-rollout workflow that can open PRs across public repos), and a new labels.yml + sync-labels.rb + sync-labels workflow to plan/apply additive label reconciliation with per-repo opt-out.

Adds an archived-dependabot-audit scheduled workflow + script to report archived repos still running Dependabot, local Codex hook guardrails (evalops-codex-hook-guard.rb + example hook pack), and fixes evalops-pr-lens-review.rb to pass request bodies to gh api via --input - (with regression test coverage).

Reviewed by Cursor Bugbot for commit 354ea5c. Bugbot is set up for automated code reviews on this repo. Configure here.

@github-actions
Copy link
Copy Markdown

EvalOps Label Sync Report

  • Generated at: 2026-05-15T19:46:12Z
  • Mode: dry-run
  • Labels: 24
  • Target repos: 34
  • Additions: 481
  • Updates: 86
  • Errors: 0
Repo Status Add Update Notes
evalops/.github planned 15 2
evalops/agent-harness planned 15 2
evalops/agent-pm planned 14 2
evalops/agentd planned 12 5
evalops/bandit_dspy planned 15 2
evalops/cognitive-dissonance-dspy planned 15 2
evalops/cypher-llm-compiler planned 15 2
evalops/deep-code-reasoning-mcp planned 13 3
evalops/deliberate-reasoning-engine planned 13 3
evalops/diffscope planned 12 4
evalops/dspy-0to1-guide planned 15 2
evalops/dspy-advanced-prompting planned 15 2
evalops/dspy-micro-agent planned 15 2
evalops/eval2otel planned 15 2
evalops/evalops-anthropic planned 13 4
evalops/evalops-google-generativeai planned 13 4
evalops/evalops-openai planned 13 4
evalops/folie-a-deux-dspy planned 15 2
evalops/garak-skill planned 15 2
evalops/gemini-exfil-detector planned 15 2
evalops/keep planned 13 3
evalops/kestrel planned 13 3
evalops/lark planned 15 2
evalops/maestro planned 14 2
evalops/mcp-firewall planned 15 2
evalops/mcp-openapi planned 13 3
evalops/mocktopus planned 15 2
evalops/openclaw-safety-harness planned 13 3
evalops/orbit-agent planned 14 2
evalops/override-cascade-dspy planned 15 2
evalops/proto planned 15 2
evalops/service-runtime planned 15 2
evalops/shared-memory-mcp planned 13 3
evalops/template-go-service planned 15 2

@haasonsaas haasonsaas merged commit a8edecd into main May 15, 2026
7 checks passed
@haasonsaas haasonsaas deleted the codex/github-open-issues-20260515 branch May 15, 2026 19:50
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is ON, but it could not run because the branch was deleted or merged before autofix could start.

Reviewed by Cursor Bugbot for commit 354ea5c. Configure here.

base = ensure_trailing_newline(current)
base = "#{base}\n" unless base.strip.empty?
"#{base}#{additions.join("\n")}\n"
end
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Leading blank line in new .gitignore files

Low Severity

When existing is nil (no .gitignore exists), merge_gitignore calls ensure_trailing_newline("") which converts the empty string to "\n", producing a leading blank line in the output. The sister function merge_agents avoids this with an early return section if existing.to_s.strip.empty? guard, but merge_gitignore lacks an equivalent check, so every new .gitignore created during MCP config rollout starts with a spurious blank line.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 354ea5c. Configure here.

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