Repository navigation
SDK context integrity and merge truth - #652
Conversation
Expose bounded note counts, enforce relationship self-edge policy before persistence, and distinguish preserved merge unions from genuine reconciliation loss. Document the SDK contracts, add full acceptance coverage, and record the linked pm lineage and generated changelog.
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
|
Warning Review limit reached
Next review available in: 17 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the 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 configurationConfiguration used: Repository UI (base), Organization UI (inherited) Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (25)
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 |
|
@greptileai review @coderabbitai full review Final review request for head 8f6ba73 after the tracker-link follow-up commit. |
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
|
✅ Action performedFull review finished. Your included review limit is currently reached under our Fair Usage Limits Policy. This review may still proceed through usage-based billing if eligible. Your next included review will be available in 27 minutes. |
Merging this PR will regress 3 benchmarks
Warning Please fix the performance issues or acknowledge them on CodSpeed. Performance Changes
Tip Investigate this regression by commenting Comparing |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
Acknowledged Gemini status report 5054869483: this reviewer surface is retired, so no code finding or action is present. |
|
Acknowledged CodeRabbit report 5054869925: the included review quota is temporarily exhausted; this is an external availability limit, not a code finding. Exact-head hosted gates remain green. |
|
Acknowledged Gemini status report 5054872526 on the final review request: the retired reviewer produced no code finding. |
|
Acknowledged CodeRabbit command response 5054873404: the final head was accepted for review but external fair-usage limits prevented findings. No code action is available from this response. |
|
CodSpeed report 5054884465 reviewed: the three flagged changes are 0 to 0.12 percent on untouched benchmark implementations, eight benchmarks improved, and the report warns that base/head used different runtime environments. This is non-actionable measurement noise; the benchmark workflow itself passed. |
|
Codecov report 5054888953 acknowledged: every modified coverable line is covered and all tests passed, consistent with the local and hosted 100/100/100/100 gates. |
|
Sourcery review PRR_kwDORSgRDc8AAAABG8gxKA acknowledged: weekly external diff quota exhausted; no code finding was produced. |
|
Sourcery exact-head review PRR_kwDORSgRDc8AAAABG8g7qQ acknowledged: weekly external diff quota exhausted; no code finding was produced at 8f6ba73. |
|
@greptileai review @coderabbitai full review Final governance-only follow-up at the new head records exact-hosted-review and scheduled-release evidence in pm. No product, test, or workflow code changed. |
|
✅ Action performedFull review finished. Your included review limit is currently reached under our Fair Usage Limits Policy. This review may still proceed through usage-based billing if eligible. Your next included review will be available in 17 minutes. |
|
CodeRabbit final-head response 5054929513 acknowledged: f1b4c36 was accepted for full review, but the external fair-usage window still prevented findings. The governance-only push has 29 successful / 0 failing checks and no review threads. |
Summary
notes_countin token-boundedget/showprojections while keeping deep/full note payloads backward compatiblepm-changelog, and record rich tracker lineageWhy
Project management is context management. Agents need compact reads that disclose omitted context, mutation primitives that prevent invalid graph state, and merge diagnostics that stay loud only when context is genuinely lost.
Tracked work
Validation
pnpm test:coverage— 6,101 tests; 100% statements, branches, functions, and linespnpm typecheckpnpm lint— ESLint, zero-clone jscpd, static quality, 100% docstrings, package boundaries, and token budgetsThe consolidated release gate is otherwise green; its live Sentry check intentionally remains red on historical issue
PM-CLI-2Jfrom release2026.7.22. This PR fixes that exact pre-persistence self-edge failure. The issue will remain open until the merged release is installed and verified with no recurrence.Summary by cubic
Adds truthful SDK reads and safer writes: standard-depth get/show now reports omitted note counts, relationship mutations reject self-edges before persistence, and merge reconciliation only warns on real data loss.
New Features
pm get/show --jsonreturnsitem.notes_countwhen notes are omitted; deep/full payloads unchanged. (pm show --json (default 'standard' depth) silently omits notes and gives no notes_count — agents miss working context #645)create/updatereject selfblocked_byand alias forms, honoring custom allow-self kinds. (Agent UX: pm update --dep accepts a self-referential ordering edge (id=<self>,kind=blocked_by) that pm graph audit forbids ('Self relationship is not allowed') #649)Migration
blocked_byedges; these now error before write with a clear message.notes_countis additive.Written for commit f1b4c36. Summary will update on new commits.