ci: target Dependabot PRs at dev (per DEV_CYCLE.md §4.1)#99
Conversation
Adds `target-branch: "dev"` to the pip ecosystem entry so Dependabot opens dependency-bump PRs against `dev`, not the default branch (`main`). DEV_CYCLE.md §4.1 prescribes that all feature/fix PRs target `dev`, including dependency bumps that meet the L1 self-merge bar. PRs BicameralAI#85 and BicameralAI#86 (already-open Dependabot PRs targeting `main`) bypass the integration branch and the dev-tier CI gates. This config change prevents the same drift on future bumps; Jin can decide separately whether to retarget BicameralAI#85/BicameralAI#86 in flight or close + let Dependabot reopen them against `dev`. No effect on existing PRs — Dependabot evaluates this config at the next scheduled run. Risk: L1 (single-key CI config addition).
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
Adds mandatory PR labels mirroring the target branch: - flow:feature (green) — standard PR to dev (default flow) - flow:release (blue) — periodic dev→main release PR - flow:hotfix (red) — emergency direct-to-main fix bypassing dev The base branch alone can't disambiguate `--base main` PRs, which can be either release or hotfix — different processes, different review tiers. The labels make the lane visible in `gh pr list` output and give a clean audit trail of historical hotfixes via `--label flow:hotfix --state closed`. Distinct from the existing `merged-to-dev` label (post-merge status) — flow:* labels are pre-merge intent. Labels created in BicameralAI/bicameral-mcp; retroactively applied to the open PR backlog (BicameralAI#85, BicameralAI#86, BicameralAI#93, BicameralAI#95, BicameralAI#99). PR BicameralAI#96 left unlabeled until @silongtan confirms the targeting question raised in that PR. PR BicameralAI#99 (this dev-cycle policy's companion) will land the matching Dependabot auto-label so future bumps arrive pre-tagged.
…t PRs Pairs with DEV_CYCLE.md §4.1.1 (added in PR BicameralAI#93) which mandates a flow:* label on every PR. Without this, every weekly Dependabot bump would arrive unlabeled and reviewers would have to apply flow:feature by hand — defeating the "label first, review second" contract. The dependencies + python labels match the convention already used on existing Dependabot PRs (BicameralAI#85, BicameralAI#86) so this only adds flow:feature on top of the historical pattern.
|
Updated — added `labels` block (commit `b4f3cf3`). Future Dependabot PRs will be auto-tagged with `flow:feature`, `dependencies`, `python` so they comply with the §4.1.1 mandatory flow-label rule landing in #93. The `dependencies` + `python` labels match the convention already on #85 / #86 so this only adds `flow:feature` on top of historical pattern. |
…#93) * docs: development cycle reference + demos/guides/training scaffolding - docs/DEV_CYCLE.md — full lifecycle reference: issue → branch → PR → dev → release PR → main → tag → GitHub Release. Covers labels/milestones, PR body conventions, CI gates, squash-vs-merge policy, CHANGELOG flip pattern, documentation matrix per release, hotfix path, roles, and four demo storyboards for headline functionality. - docs/demos/README.md — demo authoring rules, template, four-row index matching DEV_CYCLE.md §12. - docs/guides/README.md — user-guide template + authoring rules. Pairs with DEV_CYCLE.md §8 documentation matrix. - docs/training/README.md — training-doc template for concept-level teaching (vs. tool reference). Distinguishes when a topic warrants training over a guide. Intent: codify the dev cycle so contributors and the release manager have a single source of truth, and pre-stage the index/template files so future features have somewhere to land their docs without re-deciding structure. Per DEV_CYCLE.md change protocol, amendments to the doc require the docs:dev-cycle label. * docs(dev-cycle): expand §4.5 CI gates with two-tier model Replaces the three-line CI gates section with a tiered breakdown: - Tier 1 (PR → dev) — fast gates blocking every PR: lint, type check, regression on Linux + Windows matrix, schema persistence, module import smoke, secret scan, pip check, merged-to-dev label automation. - Tier 2 (release PR → main) — release-quality gates inheriting Tier 1 plus full regression w/ slow markers, blocking preflight eval, schema migration validation, performance regression, security scan, CHANGELOG enforcement, version monotonicity, MCP protocol live smoke, issue auto-close + label-strip on merge. Includes a "why the split" rationale table and a three-phase implementation roadmap. Calls out which gates exist today vs which are aspirational, so reviewers don't assume the doc reflects current enforcement. §6.4 pre-release checklist annotated with the corresponding Tier 2 CI gates so the manual checklist and automated gates stay in sync as Phase 2 lands. Phase 1 priority items (per recent triage): - Windows test job — three of the last four bugs (#67, #68, #74) were Windows-only. - merged-to-dev auto-labeller — addresses the manual labeling problem surfaced in PR-A audit. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(dev-cycle): §4.1.1 flow:* PR labels (feature/release/hotfix) Adds mandatory PR labels mirroring the target branch: - flow:feature (green) — standard PR to dev (default flow) - flow:release (blue) — periodic dev→main release PR - flow:hotfix (red) — emergency direct-to-main fix bypassing dev The base branch alone can't disambiguate `--base main` PRs, which can be either release or hotfix — different processes, different review tiers. The labels make the lane visible in `gh pr list` output and give a clean audit trail of historical hotfixes via `--label flow:hotfix --state closed`. Distinct from the existing `merged-to-dev` label (post-merge status) — flow:* labels are pre-merge intent. Labels created in BicameralAI/bicameral-mcp; retroactively applied to the open PR backlog (#85, #86, #93, #95, #99). PR #96 left unlabeled until @silongtan confirms the targeting question raised in that PR. PR #99 (this dev-cycle policy's companion) will land the matching Dependabot auto-label so future bumps arrive pre-tagged. * docs(dev-cycle): §2.1.1/§2.1.2 issue priority + state labels Adds two new label axes for issues: - Priority (mandatory after triage, one of P0/P1/P2/P3) — replaces the [P0]/[P1]/[P2] title-prefix convention some issues currently use. Calibration heuristics included; P0 explicitly rare. - State (optional, orthogonal to priority): triage / blocked / parked. triage is the default on file; parked is maintainer-only. State labels never replace priority — both axes coexist. Also moves the existing risk:L* axis off issues and onto PRs in the doc text — risk is a property of the change being designed, knowable only after planning, so it doesn't make sense as an issue label. PR review tiers in §4.4 already consume risk:L*; this change just makes the doc internally consistent. Labels created in BicameralAI/bicameral-mcp: - P0 (red), P1 (orange), P2 (yellow), P3 (grey) - parked (purple), blocked (dark grey), triage (light grey) Retroactive application: - #39 → P0 (had [P0] prefix) - #42 → P1 (had [P1] prefix) - #44 → P2 (had [P2] prefix) - #87, #89, #50, #23 → triage (unlabeled or speculative) Bulk priority triage of remaining issues left to maintainers. * docs(dev-cycle): parked supersedes priority (not orthogonal) Maintainer correction to §2.1.2: parked + Px is redundant. parked already encodes "not on the priority axis"; adding a priority label on top clutters the label list without adding signal. Issue #50 demonstrates the cleanup (P3 removed; parked stands alone). triage and blocked still coexist with priority as before — those are genuinely orthogonal states. Only parked is the exception. --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary
target-branch: \"dev\"to.github/dependabot.ymlso Dependabot opens dependency-bump PRs againstdevinstead of the default branch (main).Why
DEV_CYCLE.md§4.1 (PR #93) prescribes that all feature/fix PRs targetdev, including dependency bumps that meet the L1 self-merge bar. PRs #85 and #86 (already-open Dependabot PRs targetingmain) bypass the integration branch and the dev-tier CI gates. This config change prevents the same drift on future bumps.What this does NOT do
gh pr edit --base dev, or close + let Dependabot reopen them againstdevat the next scheduled run.github-actionsecosystem entry. Out of scope for this PR; can be a separate hygiene change.Linked
Refs PR #93 (DEV_CYCLE.md §4.1), #85, #86
Test plan
Plan / Audit / Seal
Plan: trivial; risk:L1 (single-key CI config addition, no behavioural code paths).