Repository navigation
refactor(source-control): read the babysit loop keys from docs/conventions/source-control.yaml #9726
Copy link
Copy link
Open
Labels
agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.Fully specified and briefed; eligible for autonomous pickup from the frontier.priority: mediumReal value, no hard deadline; normal backlog flow.Real value, no hard deadline; normal backlog flow.status: readyTriaged, unblocked, and fully specified; eligible to pick up.Triaged, unblocked, and fully specified; eligible to pick up.
Description
Parent
Refs #5906
Depends on
Outcome
The babysit_loop_* keys (stop_mode, tier, merge, grace_window_minutes) resolve from
docs/conventions/source-control.yaml for the local babysit loop and for babysit's remote read of a target
repository, with .claude/source-control.md read only when the YAML lacks the key, for one release.
Decisions
- ADR 0064 Decision 1: a plugin's team settings live in one
docs/conventions/<concern>.yaml, validated by a
JSON Schema atplugins/<plugin>/schemas/<concern>.schema.json(Decision 6), checked in CI by
scripts/check-convention-yaml.sh(Decision 7). Script readers use the shared readerlib/parse-concern-value.sh. - ADR 0075: layers are plugin default <
userConfig< team<home>/<concern>.yaml< personal
<home>/<concern>.local.<ext>; every resolver reports the layer that supplied each value. - Migrate per-skill .claude config files to userConfig, one conventions doc, or the cascade (ADR 0018) #5906 (comment 2026-10-04): each reader keeps reading the old file for one release when the new file is
absent, and this repository keeps its old file until the cleanup slice. - ADR 0064 Decision 9: a remote reader keeps its own fetch from the default branch through the contents API.
Key interfaces
plugins/source-control/skills/babysit-prs/scripts/babysit_repo_config.pyand its fake, the babysit-loop
operator-options.mjs, the babysit eval scaffolds,scripts/promotion-evidence-e2e.test.mjs.
Done when
-
docs/conventions/source-control.yamlholds the fourbabysit_loop_*values andscripts/check-convention-yaml.sh --checkexits 0. -
scripts/run-test-file.sh plugins/source-control/skills/babysit-prs/scripts/tests/test_babysit_repo_config.pyexits 0 with cases for: a remote YAML value wins, a remote repo with only the old file still resolves, neither file yields the defaults. -
scripts/run-test-file.sh scripts/promotion-evidence-e2e.test.mjsexits 0. - The PR body lists each migrated key with its new home and schema.
-
scripts/check-changelog-fragments.sh --check-required origin/mainexits 0.
Out of scope
- Deleting
.claude/source-control.md.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.Fully specified and briefed; eligible for autonomous pickup from the frontier.priority: mediumReal value, no hard deadline; normal backlog flow.Real value, no hard deadline; normal backlog flow.status: readyTriaged, unblocked, and fully specified; eligible to pick up.Triaged, unblocked, and fully specified; eligible to pick up.
Type
Fields
No fields configured for Task.
Activity
melodic-automation-lanes commentedon Oct 24, 2026
Not admitted to the issue lane yet: blocker #9725 is not closed as completed by a listed human or a merge.