Skip to content

feat: add idempotent tracker-aware setup-dev-backlog (#277)#301

Merged
sungjunlee merged 12 commits into
mainfrom
relay/issue-277-tracker-aware-setup
Jul 11, 2026
Merged

feat: add idempotent tracker-aware setup-dev-backlog (#277)#301
sungjunlee merged 12 commits into
mainfrom
relay/issue-277-tracker-aware-setup

Conversation

@sungjunlee

Copy link
Copy Markdown
Owner

Summary

  • add an idempotent setup-dev-backlog.js entrypoint with explicit github and local tracker selection
  • preserve existing and legacy authority without environment-driven switching
  • keep configuration and user task/sprint content byte-stable through atomic, fail-closed setup
  • align the shared runtime config reader with accepted commented, block, and multiline scalar forms

Validation

  • node --test skills/dev-backlog/scripts/setup-dev-backlog.integration.test.js (17/17)
  • node --test skills/*/scripts/*.test.js (639 pass, 1 existing opt-in skip)
  • bash skills/dev-backlog/scripts/smoke-test.sh (155/155)
  • component lint, capabilities doctor strict, backlog doctor, and git diff --check
  • independent relay review: LGTM at 26482d6

Closes #277

@coderabbitai

coderabbitai Bot commented Jul 11, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@sungjunlee, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 10 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: dd0c372b-c44c-4109-aa00-1b74c51fb1c8

📥 Commits

Reviewing files that changed from the base of the PR and between 025cb23 and 26482d6.

📒 Files selected for processing (7)
  • skills/dev-backlog/scripts/github-ownership.test.js
  • skills/dev-backlog/scripts/init.sh
  • skills/dev-backlog/scripts/lib.js
  • skills/dev-backlog/scripts/lib.test.js
  • skills/dev-backlog/scripts/setup-dev-backlog.integration.test.js
  • skills/dev-backlog/scripts/setup-dev-backlog.js
  • skills/dev-backlog/scripts/setup-dev-backlog.test.js
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch relay/issue-277-tracker-aware-setup

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@sungjunlee

Copy link
Copy Markdown
Owner Author

Relay Review

Verdict: LGTM
Summary: Final independent review finds no contract blockers at 26482d6. Tracker setup state, byte preservation, filesystem atomicity, provider isolation, remote recommendation, and setup-to-runtime scalar seams all pass.
Contract: PASS
Quality Review: PASS
Quality Execution: PASS
Rounds: 11

@sungjunlee sungjunlee merged commit 9dbfb49 into main Jul 11, 2026
2 checks passed
@sungjunlee sungjunlee deleted the relay/issue-277-tracker-aware-setup branch July 11, 2026 17:37

@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: 26482d6b8d

ℹ️ 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 on lines +884 to +886
const nextRaw = configExists
? mutateTrackerText(raw, configState, selection)
: freshConfig(projectName, selection);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Guard missing configs before selecting local tracker

When backlog/ already contains task files but config.yml is missing, this branch writes a fresh config using the requested selection, so --tracker local can silently flip a legacy checkout from the runtime default GitHub authority (lib.js lines 32-34) to local. Existing GitHub mirrors use id: BACK-N (sync-pull.js lines 195-197), and the local adapter accepts that same id/ref shape (local-tracker.js lines 322-340), so those issue mirrors are immediately treated as local tasks instead of failing closed like the tracker-less-config path does. Please guard missing-config-but-nonempty backlog before allowing a direct local switch.

Useful? React with 👍 / 👎.

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.

feat: add idempotent tracker-aware setup-dev-backlog

1 participant