Repository navigation
Closed
Closed
Task
Copy link
Labels
needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.Human-in-the-loop required; autonomous sessions must not resolve items carrying this.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.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.A briefed fix or small feature; blast radius bounded by the brief, tests exist.
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.
Metadata
Metadata
Assignees
Labels
needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.Human-in-the-loop required; autonomous sessions must not resolve items carrying this.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.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.A briefed fix or small feature; blast radius bounded by the brief, tests exist.
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.
melodic-automation-lanes commentedon Oct 27, 2026
The lanes App's pull request #10118 merged with
Refs:, so this issue stays open and nothing starts the lane on it again. work-unblock removedstatus: readyandagent-ready, so the hourly triage sweep sends it back to intake triage, which decides what work is left and admits it again.1 remaining item
github-actions commentedon Oct 27, 2026
The triage sweep dispatched intake triage for this issue (attempt 1 of 2).
github-actions commentedon Oct 27, 2026
Proposed work class: work-class: scoped
Basis: automated intake triage; the lanes App applied this class.
Size: Small
Complexity: Low
Uncertainty: Knowable
Flags: none
Blocked by: none
Understood: migrate the four
babysit_loop_*keys so they resolve fromdocs/conventions/source-control.yaml, for both the local loop and babysit's remote read..claude/source-control.mdstays as a one-release fallback and is not deleted.The dependency #9725 no longer appears among the open issues, so it looks cleared. A previous PR (#10118) merged with
Refs:, and the YAML file and the reader already mention the keys. The remaining work is to check each Done-when item against main and finish whatever is missing, such as remote-read test cases, the e2e test, and the changelog fragment. No duplicates found.Automated triage, applied by the lanes App.
melodic-automation-lanes commentedon Oct 27, 2026
This records a re-fire of an earlier refusal, not a new refusal. The lanes kill switch stopped run 40544778079, the work-resolve-issue run that
agent-readystarted, before it did any work; that run ended at 2026-10-27T17:44:23Z. work-unblock has now removed and addedagent-readyback to start a fresh run. A kill-switch refusal is no fault in this issue or the lanes, so it never counts against later re-fires; after limits.limit-stops-per-issue of them since a person last addedagent-readyor a run last reported, work-unblock waits longer before each one, up to 24 hours.melodic-automation-lanes commentedon Oct 27, 2026
The work-resolve-issue lane stopped partway through this issue and needs a person.
Why, in the run's own words:
What the run says it did not do:
Run: https://github.com/melodic-software/claude-code-plugins/actions/runs/40590193454
To retry, remove
needs-humanand addagent-readyagain.kyle-sexton commentedon Oct 28, 2026
Closing: merged work delivers this. origin/main's plugins/source-control/CHANGELOG.md records that babysit_loop_stop_mode, babysit_loop_tier, babysit_loop_merge and babysit_loop_grace_window_minutes take their team value from docs/conventions/source-control.yaml, read by babysit_repo_config.py loop-keys from the target repository's default branch.