Skip to content

chore: move source-control settings to docs/conventions/source-control.yaml - #521

Merged
kyle-sexton merged 1 commit into
mainfrom
chore/12286-source-control-yaml
Nov 2, 2026
Merged

kyle-sexton merged 1 commit into
mainfrom
chore/12286-source-control-yaml

Conversation

@kyle-sexton

Copy link
Copy Markdown
Member

Refs: melodic-software/claude-code-plugins#12286

Summary

The source-control plugin reads its team settings from docs/conventions/source-control.yaml (claude-code-plugins ADR 0064) and will stop reading .claude/source-control.md once claude-code-plugins#9737 lands. Without this move, this repository loses its babysit loop-lane policy (stop mode, tier, merge rung, grace window) and its PR-body section list.

Fix

  • Adds docs/conventions/source-control.yaml with every key the legacy file set, values unchanged.
  • Deletes .claude/source-control.md.
  • Nothing else in this repository reads the legacy file (git grep source-control.md finds nothing), and no CODEOWNERS entry covers .claude/, so no ownership entry moves. The legacy file's notes move into the YAML as comments.

Verification

Value parity, from a script that parses every H2 of the legacy file and every key of the YAML:

Legacy .claude/source-control.md at origin/main vs docs/conventions/source-control.yaml at HEAD:

Key Old value New value Result
babysit_loop_stop_mode standing standing MATCH
babysit_loop_tier worker worker MATCH
babysit_loop_merge c3-autonomous c3-autonomous MATCH
babysit_loop_grace_window_minutes 30 30 MATCH
pr_body_required_sections [Summary, Fix, Verification, Related] [Summary, Fix, Verification, Related] MATCH

5 legacy keys, 5 YAML keys, 0 not MATCH

  • claude-code-plugins origin/main readers on this branch: plugins/source-control/lib/convention-key.sh layer prints yaml for every key, and value/list print the values in the table below. Commit-subject enforcement is unchanged: lib/resolve-convention-pattern.sh resolves it from the same file on main and on this branch.
  • babysit_repo_config.py loop-keys on this repository's default branch before this PR printed the same four babysit_loop_* values from .claude/source-control.md (legacy), adopted: true. The post-merge rerun is recorded on claude-code-plugins#12286.
  • check-jsonschema==0.39.0 against plugins/source-control/schemas/source-control.schema.json: ok.

Related

🤖 Generated with Claude Code

…l.yaml

The source-control plugin now reads its team settings from
docs/conventions/source-control.yaml (ADR 0064) and will stop reading
.claude/source-control.md. Every key and value the legacy file set moves
to the YAML unchanged, and the legacy file is deleted.

Refs: melodic-software/claude-code-plugins#12286

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

chatgpt-codex-connector Bot commented Nov 2, 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-11-02T18:04:29.501515Z ce7eb47 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.

@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown

claude-security-review reviewed ce7eb473dad18d76c495e993757c9b6913fabc8f: 0 finding(s), 0 as inline comments.

No security findings.

critical-findings: 0

The PR moves the source-control plugin's team-layer settings from .claude/source-control.md to docs/conventions/source-control.yaml. I compared the values before and after, and none changed:

  • babysit_loop_stop_mode: standing
  • babysit_loop_tier: worker
  • babysit_loop_merge: c3-autonomous
  • babysit_loop_grace_window_minutes: 30
  • pr_body_required_sections: Summary, Fix, Verification, Related

The babysit_loop_merge setting is a merge-autonomy control. The move leaves its value as it was, so it widens nothing. The $schema line points at the org's own melodic-software/claude-code-plugins repository on main. It is an editor hint and executes nothing.

I did not check whether the plugin reads the new path. If it doesn't, it falls back to its own defaults. That is a functional concern, not an exploitable path in this diff, and I could not read the upstream resolution code from here.

The repository has no CODEOWNERS file, so the move does not change any ownership coverage.

Nothing in the diff touches a trusted path, an Actions workflow, a token scope, or a plugin manifest.

@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown

claude-review reviewed ce7eb473dad18d76c495e993757c9b6913fabc8f: 0 finding(s), 0 as inline comments.

No findings. I reviewed the full diff, which moves the source-control settings from .claude/source-control.md to docs/conventions/source-control.yaml.

  • Value parity: The YAML has the same five keys and values as the deleted file: babysit_loop_stop_mode: standing, babysit_loop_tier: worker, babysit_loop_merge: c3-autonomous, babysit_loop_grace_window_minutes: 30, and pr_body_required_sections with Summary, Fix, Verification and Related.
  • Dangling references: git grep source-control finds nothing else in this repository that reads the deleted file, which matches the PR body. The only other hit is .github/workflows/pr-check-managed-files-hosted.yml:72, which names the separate docs/conventions/source-control/commit-convention.yml, a different file.
  • Rule files: The only rule file is .claude/rules/pr-body-contract.md, and it has no paths: glob. The restated section list agrees with the body contract it describes.
  • Not verified: I did not run the author's check-jsonschema or parity script, and I could not confirm that the upstream URLs in the YAML comments resolve. One comment link now points to docs/contracts/loop-lane/README.md, where the old file said docs/conventions/loop-lane/README.md. That looks like an upstream move, but I haven't confirmed it.
  • Closing issues: The PR uses Refs:, so no closing-issue criteria apply.

@kyle-sexton
kyle-sexton merged commit 8b91ae3 into main Nov 2, 2026
28 checks passed
@kyle-sexton
kyle-sexton deleted the chore/12286-source-control-yaml branch November 2, 2026 18:26
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