docs(groups): attachments, protocol defaults, context scopes, and a "not yet supported" section - #652
Conversation
…not yet supported" section
Wave E of the Agent / Group Agent review -- the documentation drifts the
review turned up, each one a place where docs and code disagreed.
1. Attachments x groups were entirely undocumented. group-conversations.md
had zero mentions of attachments and attachments-guide.md zero mentions
of groups, while POST /groups/{groupId}/conversations accepts them and
GroupAttachmentBinder is a whole subsystem. Both files now cover the
three input shapes, the first-turn grant, how later phases keep access
(history plus the auto-enabled readAttachment tool), and the two
group-specific bounds: the per-turn cap applies per MEMBER turn, and
anything dropped is reported in that member's attachments:errors, not
in the group transcript.
2. The protocol table did not say the defaults apply to an absent block.
Nothing backfills a stored config, so "no protocol block" is the common
shape -- which is what made the 60-vs-180 drift fixed in #648
invisible.
3. maxCreatedAgentsPerDiscussion now reads "counted across all members,
not per member" -- the behaviour #649 delivers.
4. LAST_PHASE was documented as "only the previous phase's entries", but
the filter is phaseIndex >= currentPhaseIdx - 1, which includes the
running phase. The code is right -- in a sequential phase that is what
lets the second speaker react to the first -- so the doc and the enum
Javadoc were corrected, not the filter.
5. New "Not yet supported" section: member-level tool approval inside a
group, nested pauses, groups over the OpenAI-compatible /v1 adapter,
groups over A2A, and the per-node scope of the live-discussion
registry.
Also: an FQN sweep of CreateSubAgentTool (11 inline fully-qualified names,
against AGENTS.md 4.7) and the orphaned Javadoc in LiveDiscussionRegistry,
where the paragraph documenting get() sat above getForMember() so both
attached to the latter and get() had none.
Scoping: the FQN violation is repo-wide (~130 sites). This sweeps only
files no other open PR touches; the rest is a follow-up once #648-#651
land.
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
|
Warning Review limit reached
Next review available in: 2 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. 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: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (6)
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 |
…racy # Conflicts: # docs/changelog.md
…racy # Conflicts: # docs/changelog.md
Wave E of the Agent / Group Agent review (A #648, B #649, C #650, F #651). Each item is a place where the documentation and the code disagreed.
1. Attachments × groups were entirely undocumented
docs/group-conversations.mdhad zero mentions of attachments anddocs/attachments-guide.mdzero mentions of groups — whilePOST /groups/{groupId}/conversationsaccepts them andGroupAttachmentBinderis a whole subsystem.Both files now carry a section covering the three input shapes, the first-turn grant, how later phases keep access (the member's own history plus the auto-enabled
readAttachmenttool), and the two group-specific bounds worth knowing:attachments:errors— visible in that member's conversation, not in the group transcript.2. The protocol table did not say the defaults apply to an absent block
Nothing backfills a stored config, so "no
protocolblock" is the common shape and runs on exactly the tabled values. That omission is what made the 60-vs-180 drift (fixed in #648) invisible: the table said 180, the fallback said 60, and nothing in the docs connected the two.3.
maxCreatedAgentsPerDiscussionread as ambiguousNow explicitly "counted across all members, not per member" — the behaviour #649 delivers.
4.
LAST_PHASEwas documented wrongThe docs said "Only the previous phase's entries", but the filter is
e.phaseIndex() >= currentPhaseIdx - 1, which includes the running phase.The code is right here and the doc was wrong: in a sequential phase, including the current phase is exactly what lets the second speaker react to the first. Excluding it would leave every speaker after the first talking past their peers. So the doc and the enum's Javadoc were corrected, not the filter.
5. New "Not yet supported" section
So these are not discovered at runtime: member-level tool approval inside a group, nested pauses, groups over the OpenAI-compatible
/v1adapter, groups over A2A, and the per-node scope of the live-discussion registry.Also
CreateSubAgentTool— 11 inline fully-qualified names, against the project's ownAGENTS.md§4.7 ("FQNs in field declarations, method signatures, annotations, and generics hurt readability and are a common review comment").LiveDiscussionRegistry: the paragraph documentingget()sat abovegetForMember(), so both attached to the latter andget()had none. It now documentsget()and points atgetForMember()for why existence is not membership.Testing
Docs-only plus comment/import changes:
compileandvalidate(Checkstyle) clean, 93 tests green across the touched classes' suites.