Skip to content

kaizen: coderabbit / kaizen-loop の dogfood scheduler 設定が current main と一致することを確認しました。 (#44)#53

Merged
s-hiraoku merged 3 commits into
mainfrom
kaizen/issue-44-monitor-align-dogfood-manifest-scheduler-configs
Jun 25, 2026
Merged

kaizen: coderabbit / kaizen-loop の dogfood scheduler 設定が current main と一致することを確認しました。 (#44)#53
s-hiraoku merged 3 commits into
mainfrom
kaizen/issue-44-monitor-align-dogfood-manifest-scheduler-configs

Conversation

@s-hiraoku

@s-hiraoku s-hiraoku commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Closes #44

Summary

coderabbit / kaizen-loop の dogfood scheduler 設定が current main と一致することを確認しました。
legacy scheduler キーへの再発を防ぐ回帰チェックを追加しました。
指定メッセージでローカルコミットを作成済みです。

Builder notes

Commit: 1c2c1d7 kaizen: align dogfood scheduler configs (#44). Protected path changes: none. Verification passed: bash scripts/check-daily-dogfood-sync-contract.sh; bash scripts/test-sync-daily-dogfood.sh; specified test -f command; direct diff against coderabbit/main and kaizen-loop/main configs. gh/workflow/PR operations were not run per constraint.

Verification

  • test -f docs/README.md && test -f docs/issue-to-pr-mvp.md && test -f profile/README.md
  • test -f skills/gh-link-issue-pr/SKILL.md && test -f skills/kaizen-bug-router/SKILL.md && test -f skills/pr-guardian/SKILL.md

Kaizen risk policy

Verifier cleared PR: Open PR with 0 should_fix item(s); risk is low.

Changed files: 1
Changed lines: 16

Summary by CodeRabbit

  • Bug Fixes
    • Added stricter validation for scheduler configuration files used in daily checks to ensure required settings are present.
    • Configurations using legacy scheduler fields are now rejected to prevent sync contract issues earlier.

@coderabbitai

coderabbitai Bot commented Jun 25, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: kaizen-agents-org/coderabbit/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 057d8a8c-555a-431e-8c29-748e0dc802da

📥 Commits

Reviewing files that changed from the base of the PR and between 9fdf8d1 and 497fe58.

📒 Files selected for processing (1)
  • scripts/check-daily-dogfood-sync-contract.sh

📝 Walkthrough

Walkthrough

The contract-check script now validates scheduler configs for the coderabbit and kaizen-loop dogfood targets. It requires the new scheduler/job keys and fails when legacy nightly, afternoon, or poll entries appear at the legacy indentation level.

Changes

Scheduler contract validation

Layer / File(s) Summary
Target scheduler key validation
scripts/check-daily-dogfood-sync-contract.sh
Adds a validation loop for coderabbit and kaizen-loop that checks each target’s .kaizen/config.yml scheduler contract for required keys and rejects legacy scheduler key placement.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning Issue #44 required updating the managed .github scheduler configs, but this PR only adds a validation script. Update the managed .github target .kaizen/config.yml files for coderabbit and kaizen-loop to use scheduler.jobs, then rerun sync/check.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the dogfood scheduler config work for coderabbit and kaizen-loop.
Out of Scope Changes check ✅ Passed The added contract check is directly related to preventing scheduler drift and appears in scope.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch kaizen/issue-44-monitor-align-dogfood-manifest-scheduler-configs

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1c2c1d7aec

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread scripts/check-daily-dogfood-sync-contract.sh Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@scripts/check-daily-dogfood-sync-contract.sh`:
- Around line 169-177: The contract check in
check-daily-dogfood-sync-contract.sh only verifies that keys like scheduler,
jobs, maintenance, maintenance-followup, and issue-watch exist somewhere in the
config, so malformed YAML can still pass. Tighten the validation in the repo
loop by checking the actual nesting under the config structure in config.yml
(for example, ensuring jobs and its children are under scheduler and the other
blocks are at the expected indentation/path), using the existing grep-based
guard around the scheduler/jobs checks so the script fails when hierarchy is
wrong even if the key names are present.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: kaizen-agents-org/coderabbit/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 98a1501e-8549-4e80-9e41-c635f16d0a08

📥 Commits

Reviewing files that changed from the base of the PR and between 600a715 and 1c2c1d7.

📒 Files selected for processing (1)
  • scripts/check-daily-dogfood-sync-contract.sh

Comment thread scripts/check-daily-dogfood-sync-contract.sh

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

♻️ Duplicate comments (1)
scripts/check-daily-dogfood-sync-contract.sh (1)

171-175: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Validate the scheduler hierarchy, not just the indented key names.

These five grep calls still pass when the same lines appear in unrelated blocks with matching indentation, so the regression test can miss a malformed config that does not actually define scheduler.jobs.{maintenance,maintenance-followup,issue-watch} as one nested structure. Tighten this to verify the contiguous hierarchy in a single pass.

Suggested tightening
 for repo in coderabbit kaizen-loop; do
   config=".github/dogfood-sync/targets/${repo}/.kaizen/config.yml"
-  grep -q "^scheduler:" "${config}"
-  grep -q "^  jobs:" "${config}"
-  grep -q "^    maintenance:" "${config}"
-  grep -q "^    maintenance-followup:" "${config}"
-  grep -q "^    issue-watch:" "${config}"
+  awk '
+    /^scheduler:$/ { in_scheduler=1; next }
+    in_scheduler && /^  jobs:$/ { in_jobs=1; next }
+    in_scheduler && !/^ / { in_scheduler=0 }
+    in_jobs && /^    maintenance:$/ { maintenance=1; next }
+    in_jobs && /^    maintenance-followup:$/ { followup=1; next }
+    in_jobs && /^    issue-watch:$/ { issue_watch=1; next }
+    in_jobs && /^  [^ ]/ { in_jobs=0 }
+    END { exit(in_scheduler && in_jobs && maintenance && followup && issue_watch ? 0 : 1) }
+  ' "${config}"
 
   if grep -Eq "^[[:space:]]{2}(nightly|afternoon|poll):" "${config}"; then
     echo "${repo} dogfood scheduler config must use scheduler.jobs, not legacy scheduler keys" >&2
     exit 1
   fi
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/check-daily-dogfood-sync-contract.sh` around lines 171 - 175, The
scheduler check in the shell script is only matching individual indented keys,
so it can pass even when the hierarchy is broken. Update the validation around
the existing `grep` checks to verify the full contiguous `scheduler.jobs`
nesting in one pass, using a single pattern or block-aware match that ensures
`scheduler`, `jobs`, and the `maintenance`, `maintenance-followup`, and
`issue-watch` entries all belong to the same structure.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Duplicate comments:
In `@scripts/check-daily-dogfood-sync-contract.sh`:
- Around line 171-175: The scheduler check in the shell script is only matching
individual indented keys, so it can pass even when the hierarchy is broken.
Update the validation around the existing `grep` checks to verify the full
contiguous `scheduler.jobs` nesting in one pass, using a single pattern or
block-aware match that ensures `scheduler`, `jobs`, and the `maintenance`,
`maintenance-followup`, and `issue-watch` entries all belong to the same
structure.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: kaizen-agents-org/coderabbit/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 60f3540c-c20a-4b88-b5ac-1be933965a35

📥 Commits

Reviewing files that changed from the base of the PR and between 1c2c1d7 and 9fdf8d1.

📒 Files selected for processing (1)
  • scripts/check-daily-dogfood-sync-contract.sh

coderabbitai[bot]
coderabbitai Bot previously approved these changes Jun 25, 2026
@s-hiraoku

Copy link
Copy Markdown
Contributor Author

Addressed CodeRabbit duplicate review feedback from the 9fdf8d1 review in 497fe58. The scheduler contract check now uses a single block-aware awk pass so maintenance, maintenance-followup, and issue-watch only count while inside the same scheduler.jobs block. Local verification passed with bash scripts/check-daily-dogfood-sync-contract.sh, bash scripts/test-sync-daily-dogfood.sh, and git diff --check.

@s-hiraoku

Copy link
Copy Markdown
Contributor Author

PR Guardian final status

  • Final mergeability: mergeStateStatus is CLEAN, reviewDecision is APPROVED, PR is open and ready for review.
  • Check status: CodeRabbit status context is success. There are no GitHub Actions check runs on the final head 497fe589e0954f59685410f388e2ab986b18ef0f.
  • Watched runs: none. I checked gh run list for the PR branch multiple times; no workflow run existed, so there was no run ID available for gh run watch --exit-status.
  • Fixes pushed: 9fdf8d1 tightened scheduler job indentation checks; 497fe58 replaced the separate greps with a block-aware awk validation for the same scheduler.jobs structure.
  • Verification run locally: bash scripts/check-daily-dogfood-sync-contract.sh, bash scripts/test-sync-daily-dogfood.sh, and git diff --check.
  • Feedback addressed: resolved and replied to the Codex inline thread requiring jobs under scheduler; resolved and replied to the CodeRabbit inline thread about YAML nesting; commented disposition for CodeRabbit duplicate review feedback and fixed it in 497fe58.
  • Final review sweep: PullRequest.reviewThreads, PR comments, and reviews were fetched through GraphQL with pageInfo checks; all returned hasNextPage=false. No unresolved actionable review threads remain.
  • Skipped/non-blocking feedback: CodeRabbit summary still shows a linked-issue warning suggesting config updates. No additional config change was made because the vendored coderabbit and kaizen-loop target configs already use scheduler.jobs, and the final regression check now enforces that structure.
  • Remaining blockers: none found. PR was not merged.

@s-hiraoku s-hiraoku merged commit 343a3ac into main Jun 25, 2026
1 check passed
@s-hiraoku s-hiraoku deleted the kaizen/issue-44-monitor-align-dogfood-manifest-scheduler-configs branch June 25, 2026 23: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.

[monitor] Align dogfood manifest scheduler configs

1 participant