Skip to content

docs: add Javadoc to config store interfaces #545 - #740

Merged
ginccc merged 2 commits into
labsai:mainfrom
AzazelSensei:docs/545-config-store-javadoc
Sep 7, 2026
Merged

ginccc merged 2 commits into
labsai:mainfrom
AzazelSensei:docs/545-config-store-javadoc

Conversation

@AzazelSensei

@AzazelSensei AzazelSensei commented Sep 7, 2026 •

Copy link
Copy Markdown
Contributor

Class-level Javadoc on the eight remaining config store interfaces.

I replaced leftover @author tags with purpose, who consumes the store, and the key behaviour. IUserMemoryStore already had docs; I only dropped @author there.

Closes #545

Summary by CodeRabbit

  • Documentation
    • Clarified documentation for channel integrations, deployments, document descriptors, agent groups, user memory, property setters, RAG knowledge bases, and prompt snippets.
    • Added context on how these configuration stores support administration, APIs, and runtime operations.
    • Removed outdated author references and legacy implementation details.
    • No functional behavior or public interfaces changed.

Class-level docs on the eight remaining config store interfaces from labsai#545.
Dropped leftover @author tags.
@coderabbitai

coderabbitai Bot commented Sep 7, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: fea88bf6-e819-4103-ad31-c2b93381fa1c

📥 Commits

Reviewing files that changed from the base of the PR and between 946ec2a and 835baaf.

📒 Files selected for processing (2)
  • src/main/java/ai/labs/eddi/configs/channels/IChannelIntegrationStore.java
  • src/main/java/ai/labs/eddi/configs/snippets/IPromptSnippetStore.java
🚧 Files skipped from review as they are similar to previous changes (2)
  • src/main/java/ai/labs/eddi/configs/channels/IChannelIntegrationStore.java
  • src/main/java/ai/labs/eddi/configs/snippets/IPromptSnippetStore.java

Included review availability: Your plan provides up to 2 included reviews per hour; 1 remains after this review.


📝 Walkthrough

Walkthrough

The pull request updates class-level Javadoc for eight configuration store interfaces. The documentation describes each store’s persistence role, consuming components, and relevant API behavior. Existing author tags were removed.

Changes

Configuration store documentation

Layer / File(s) Summary
Document configuration store interfaces
src/main/java/ai/labs/eddi/configs/{channels,deployment,descriptors,groups,properties,propertysetter,rag,snippets}/*
The eight interfaces now have meaningful class-level Javadoc. The documentation covers their stored configuration types, runtime consumers, REST APIs, and access behavior where applicable. Existing @author tags were removed.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Merge Risk: ⚪ Minimal · up to 835ba

This change adds and refines configuration-store documentation without an identified remaining behavior, security, or deployment risk.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Linked Issues check ❓ Inconclusive The pull request documents all eight interfaces, removes existing author tags, and incorporates the requested wording corrections. The provided context confirms validation passed, but it does not conf… Run ./mvnw compile and provide the result to confirm the remaining acceptance criterion from issue #545. ;
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the documentation change to the config store interfaces.
Out of Scope Changes check ✅ Passed All changes are documentation updates in the eight interfaces listed by issue #545. No unrelated files or functional changes are reported.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 7…
Full details: Linked Issues check

Explanation

The pull request documents all eight interfaces, removes existing author tags, and incorporates the requested wording corrections. The provided context confirms validation passed, but it does not confirm that ./mvnw compile passed.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@ginccc

ginccc commented Sep 7, 2026

Copy link
Copy Markdown
Member

Thanks, this is accurate work. I checked every named consumer against the code and they all hold, including the RAG note (the retrieval provider loads configs through the resource client library and is injected into the LLM task). The AccessScope link resolves through an existing import, ./mvnw validate is clean, and all eight files from the issue are covered with nothing else touched.

Three small wording fixes and it's good to merge.

1 & 2. IChannelIntegrationStore, one sentence with two issues. "Independently of AgentConfiguration" hides a real coupling: a matching integration config suppresses every legacy ChannelConnector entry on the agent config for the same channel type and id, so anyone debugging a legacy connector that stopped firing gets sent the wrong way. The same sentence also credits routing to the REST channel API, which is CRUD only. Only ChannelTargetRouter routes.

/**
 * Persistence store for channel integration configurations (Slack and similar
 * platforms). The REST channel API manages them; {@code ChannelTargetRouter}
 * loads them to route incoming events onto agents or groups. They replace the
 * legacy {@code ChannelConnector} entries on {@code AgentConfiguration}: where
 * an integration here covers a channel type and id, the legacy entries for that
 * pair are ignored.
 *
 * @since 6.1.0
 */

3. IPromptSnippetStore, {snippets.name} reads as a literal key called "name". The rest of the codebase uses the placeholder form, including PromptSnippetService:

 * system prompts can pull in {@code {snippets.<name>}} fragments at task

Process note, ours not yours: our agent instructions want a docs/changelog.md entry on the same branch, but CONTRIBUTING.md doesn't ask contributors for one. Add a short entry if you like, otherwise a maintainer can.

Channel store docs now separate REST CRUD from ChannelTargetRouter
and note the legacy ChannelConnector override. Snippet placeholder
uses {snippets.<name>}.
@AzazelSensei

Copy link
Copy Markdown
Contributor Author

Updated both. Channel store docs now split REST CRUD from ChannelTargetRouter and mention the legacy ChannelConnector override. Snippet placeholder is {snippets.<name>}. Left changelog off this branch.

@ginccc
ginccc merged commit 9b0c677 into labsai:main Sep 7, 2026
24 checks passed
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.

docs: add Javadoc to config store interfaces (batch 2 of 2)

2 participants