docs(playbooks): harden PR-slicing process with two-sided isolation#158
Conversation
Adds the authoritative pr-slicing.md (previously duplicated as a new file in #153 and #154). Tightens "isolated" into a two-sided test (stands alone on the branch AND integrates after rebase), adds shared-seam ownership, a single-source rule for shared constants/contracts, a Gate-1-honesty section, merge/rebase cadence, and a register-org retrospective mapping each real defect to the rule that prevents it. Wires nav from docs/README, agent-checklist, and process. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughAdds a new PR-slicing playbook requiring two-sided isolation verification for slice PRs, formalizes shared-seam ownership and merge/rebase cadence, and integrates the guidance into the agent checklist, README, and process docs with a per-slice pre-push checklist. ChangesPR Slicing Playbook and Integration
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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 |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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 `@docs/playbooks/pr-slicing.md`:
- Around line 86-98: The fenced decision-tree block in the PR slicing doc is
missing a language tag causing MD040; edit the ASCII decision-tree fenced code
block (the triple-backtick block containing the "Does the change alter a
contract already used on main?" text) and add a language marker (e.g., change
``` to ```text) so markdownlint recognizes it, then save and re-run the linter
to confirm the MD040 error is resolved.
- Line 67: Update the Gate 1 checklist to match CI by requiring full-solution
tests: replace the "dotnet test for the affected module(s)" allowance with an
explicit requirement to run `dotnet test` against the full solution (Axis.sln)
after a successful `dotnet build Axis.sln` so Gate 1 mirrors CI; ensure the text
mentions `Axis.sln`, `dotnet build`, `dotnet test`, and the Gate 1 policy to
avoid permitting isolated-module testing.
🪄 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: defaults
Review profile: CHILL
Plan: Pro
Run ID: 74d002c5-fde9-4d95-822b-3b363217a701
📒 Files selected for processing (4)
docs/README.mddocs/playbooks/agent-checklist.mddocs/playbooks/pr-slicing.mddocs/playbooks/process.md
Rewrite pr-slicing.md as use-case-agnostic best practice: drop the register-org-specific example/retrospective tables and PR numbers, keep the general principles (two-sided isolation, shared-seam ownership, single-source constants, Gate-1 honesty, merge/rebase cadence) and a generic failure-mode → rule table so it applies cleanly to any future multi-PR use case. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Rebase resolution (seams now owned by merged slices): - drop duplicate pr-slicing.md + nav lines (owned by #158) - merge register FE surface with the journey slice already on main (api.ts authKeys, useRegister flow, register-page test, register-org callout) Fix pre-existing CI-red issues surfaced by the rebase: - AuthHelper: register via TestRegistrationPayload (includes required legal versions) so the now-mandatory Terms validator does not 400 every suite - regenerate AddUserLegalAcceptance migration so it has its paired .Designer.cs (hand-written migration was unrecognized by EF and missing the designer) - route GET /api/legal/versions through a GetLegalVersions query handler so the endpoint maps to a module (doc-drift discovery) and carries no inline logic - add tests for GetLegalVersions and GetOrganizationSlugPreview handlers - note Terms/slug register changes under identity-access (auth-frontend domain) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Summary
Adds the authoritative
docs/playbooks/pr-slicing.mdand tightens the slicing process. Splitting work into branches is not the same as isolating it — "sliced" PRs still ship coupled when they don't compile alone, claim green CI that was never run, duplicate files across siblings, or disagree on a shared constant. This doc is written as general, use-case-agnostic best practice so it applies to any future multi-PR feature.Key additions:
main).This file was previously added as a new file in two open PRs at once (itself a slicing defect this doc now names). Landing it here makes it authoritative; those PRs drop their copies on rebase. Nav wired from
docs/README.md,agent-checklist.md, andprocess.md.Linked spec
Process/playbook change — no use-case AC.
Requirements
pr-slicing.md(two-sided isolation, shared-seam ownership, single-source values, Gate-1 honesty, merge/rebase cadence, failure-mode table, checklist)./scripts/check-doc-drift.shgreen (link-targets + code-fences pass)🤖 Generated with Claude Code
Summary by CodeRabbit