MTA-6811, 6812, 6813, 6814, 6815, 6816 CQA April Developer Lightspeed work#357
MTA-6811, 6812, 6813, 6814, 6815, 6816 CQA April Developer Lightspeed work#357Pkylas007 wants to merge 5 commits into
Conversation
Signed-off-by: Prabha Kylasamiyer Sundara Rajan <pkylasam@pkylasam-thinkpadp16vgen1.bengluru.csb>
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughThis PR reorganizes and updates Developer Lightspeed documentation by removing the Solution Server assembly and tackle enablement procedure, standardizing terminology ("Visual Studio Code" vs "VS Code"), updating product placeholder references, rephrasing descriptions for clarity, and restructuring assembly include paths to reference moved documentation topics. Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (4 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 the current code and only fix it if needed.
Inline comments:
In
`@docs/topics/developer-lightspeed/proc_configuring-developer-lightspeed-ide-settings.adoc`:
- Around line 23-25: Update the hardcoded navigation string in
docs/topics/vscode/proc_installing-analyzer-binary-locally.adoc by replacing the
literal "Extensions > MTA Extension for VSCode > Settings" with the
variable-based path "Extensions > {ProductShortName} Extension for VSCode >
Settings" (or match the same pattern used in
docs/topics/developer-lightspeed/proc_configuring-developer-lightspeed-ide-settings.adoc);
locate the occurrence of the exact string "Extensions > MTA Extension for VSCode
> Settings" in that file and perform the substitution so all VS Code extension
docs consistently use {ProductShortName}.
In `@docs/topics/developer-lightspeed/ref_example-code-suggestion.adoc`:
- Line 33: Update the documented Command Palette entry so it matches other docs:
replace the current `{ProductShortName}: Open the Gen AI model provider
configuration file` text with `Open the GenAI model provider configuration file`
(remove the `{ProductShortName}:` prefix and merge "Gen AI" into "GenAI") to
ensure consistency with the `ref_llm-provider-configurations` and
`proc_configuring-llm-podman-desktop` documentation.
🪄 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: d8a945bd-c069-4139-861f-45d581985d08
📒 Files selected for processing (17)
assemblies/developer-lightspeed-guide/assembly_getting-started.adocdocs/topics/developer-lightspeed/assembly_solution-server-configurations.adocdocs/topics/developer-lightspeed/con_developer-lightspeed-logs.adocdocs/topics/developer-lightspeed/con_developer-lightspeed-pathways.adocdocs/topics/developer-lightspeed/con_installation.adocdocs/topics/developer-lightspeed/con_intro-to-developer-lightspeed.adocdocs/topics/developer-lightspeed/con_llm-service-openshift-ai.adocdocs/topics/developer-lightspeed/con_prerequisites.adocdocs/topics/developer-lightspeed/con_solution_server.adocdocs/topics/developer-lightspeed/proc_apply-rag-resolution.adocdocs/topics/developer-lightspeed/proc_configuring-developer-lightspeed-ide-settings.adocdocs/topics/developer-lightspeed/proc_configuring-developer-profile-settings.adocdocs/topics/developer-lightspeed/proc_running-agent-analysis.adocdocs/topics/developer-lightspeed/proc_running-rag-analysis.adocdocs/topics/developer-lightspeed/proc_tackle-enable-dev-lightspeed.adocdocs/topics/developer-lightspeed/ref_example-code-suggestion.adocdocs/topics/developer-lightspeed/ref_llm-provider-configurations.adoc
💤 Files with no reviewable changes (2)
- assemblies/developer-lightspeed-guide/assembly_getting-started.adoc
- docs/topics/developer-lightspeed/assembly_solution-server-configurations.adoc
vashirova
left a comment
There was a problem hiding this comment.
@Pkylas007 peer review completed, see my comments.
To summarize, the following issues are blockers for DITA migration and must be fixed:
- Abstracts
- Floating text
- Links in concept and assembly modules (in the main text)
- Alt text for images
Plus, a number of editorial and formatting issues.
There was a problem hiding this comment.
Actionable comments posted: 3
🧹 Nitpick comments (3)
docs/topics/developer-lightspeed/ref_example-code-suggestion.adoc (2)
62-62: Improve sentence clarity and parallel structure.The phrasing "streams the issue description, a preview of the code changes" lacks clear parallel structure. Consider rephrasing for clarity.
📝 Suggested rewording
-{mta-dl-plugin} streams the issue description, a preview of the code changes in files that resolve the issue. +{mta-dl-plugin} streams the issue description and a preview of the code changes in files that resolve the issue.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/topics/developer-lightspeed/ref_example-code-suggestion.adoc` at line 62, The sentence using "{mta-dl-plugin}" lacks parallel structure; change the line to use a parallel verb structure such as "streams the issue description and previews the code changes that resolve the issue" or "streams the issue description and a preview of the code changes that resolve the issue" by editing the string containing "{mta-dl-plugin}" so the two coordinated elements are parallel (both verbs or both noun phrases) and preserve the original meaning.
70-70: Minor grammar improvement.The phrase "repeated iterations of scan" should use plural "scans" or be reworded for better grammatical flow.
📝 Suggested alternatives
Option 1:
-Repeat the review and accept or reject the resolutions. {mta-dl-plugin} continues to run repeated iterations of scan if you allow until it resolves all issues. +Repeat the review and accept or reject the resolutions. {mta-dl-plugin} continues to run repeated scan iterations if you allow until it resolves all issues.Option 2:
-Repeat the review and accept or reject the resolutions. {mta-dl-plugin} continues to run repeated iterations of scan if you allow until it resolves all issues. +Repeat the review and accept or reject the resolutions. {mta-dl-plugin} continues to run repeated scans if you allow until it resolves all issues.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/topics/developer-lightspeed/ref_example-code-suggestion.adoc` at line 70, Replace the phrase "repeated iterations of scan" with a grammatically correct alternative such as "repeated scans" or "repeated iterations of scans" in the sentence that reads "Repeat the review and accept or reject the resolutions. {mta-dl-plugin} continues to run repeated iterations of scan if you allow until it resolves all issues." to improve flow and plurality; ensure the updated sentence reads smoothly (e.g., "...{mta-dl-plugin} continues to run repeated scans until it resolves all issues.").docs/topics/developer-lightspeed/proc_configuring-developer-lightspeed-ide-settings.adoc (1)
23-23: Use {ProductShortName} instead of {ProductFirstRef} for UI navigation.Line 23 uses
{ProductFirstRef}which expands to "Migration toolkit for applications", creating the awkward navigation path: "Extensions > Migration toolkit for applications Extension > Settings".For UI navigation paths, use
{ProductShortName}(which expands to "MTA") to match what users see in the Visual Studio Code interface and maintain consistency with line 25.📝 Proposed fix
-.. Click `Extensions > {ProductFirstRef} Extension > Settings` +.. Click `Extensions > {ProductShortName} Extension > Settings`🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/topics/developer-lightspeed/proc_configuring-developer-lightspeed-ide-settings.adoc` at line 23, The navigation text uses the wrong placeholder {ProductFirstRef} which expands to "Migration toolkit for applications" and produces an awkward path; replace {ProductFirstRef} with {ProductShortName} so the line reads "Extensions > {ProductShortName} Extension > Settings" to match the UI and line 25; update the string where it appears (search for the literal {ProductFirstRef} in the document) and ensure references elsewhere in this topic remain consistent with {ProductShortName}.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In
`@docs/topics/developer-lightspeed/proc_configuring-developer-lightspeed-ide-settings.adoc`:
- Around line 9-11: The intro states users "must enter your large language model
(LLM) credentials to use {mta-dl-plugin}" but the doc doesn't show where to
enter them; update the page by either (A) adding a short procedure step after
installation that explicitly shows how to configure LLM credentials for the
{mta-dl-plugin} (e.g., open VS Code Settings or settings.json and set the
{mta-dl-plugin} LLM credential key such as a plugin-specific API key/secret),
referencing the {mta-dl-plugin} setting name, or (B) if credentials are
documented elsewhere, change the abstract sentence to point readers to that
exact section or page where the credential field is documented; do not leave the
location unspecified.
In `@docs/topics/developer-lightspeed/proc_tackle-llm-secret.adoc`:
- Around line 29-31: The oc create secret generic command uses the wrong secret
name and omits the namespace; change the command that currently uses "oc create
secret generic aws-credentials" to create the expected secret name
"kai-api-keys" and add the namespace flag "-n openshift-mta" so the line becomes
the Amazon Bedrock secret creation matching other providers (refer to the oc
create secret generic invocation and the secret name kai-api-keys).
In `@docs/topics/developer-lightspeed/ref_example-code-suggestion.adoc`:
- Line 68: The sentence "can occur when you accepted the suggested code change"
mixes present modal with past tense; update the phrase to use consistent present
tense, e.g., change it to "can occur when you accept the suggested code change"
so the modal "can" and the verb "accept" agree in tense and voice.
---
Nitpick comments:
In
`@docs/topics/developer-lightspeed/proc_configuring-developer-lightspeed-ide-settings.adoc`:
- Line 23: The navigation text uses the wrong placeholder {ProductFirstRef}
which expands to "Migration toolkit for applications" and produces an awkward
path; replace {ProductFirstRef} with {ProductShortName} so the line reads
"Extensions > {ProductShortName} Extension > Settings" to match the UI and line
25; update the string where it appears (search for the literal {ProductFirstRef}
in the document) and ensure references elsewhere in this topic remain consistent
with {ProductShortName}.
In `@docs/topics/developer-lightspeed/ref_example-code-suggestion.adoc`:
- Line 62: The sentence using "{mta-dl-plugin}" lacks parallel structure; change
the line to use a parallel verb structure such as "streams the issue description
and previews the code changes that resolve the issue" or "streams the issue
description and a preview of the code changes that resolve the issue" by editing
the string containing "{mta-dl-plugin}" so the two coordinated elements are
parallel (both verbs or both noun phrases) and preserve the original meaning.
- Line 70: Replace the phrase "repeated iterations of scan" with a grammatically
correct alternative such as "repeated scans" or "repeated iterations of scans"
in the sentence that reads "Repeat the review and accept or reject the
resolutions. {mta-dl-plugin} continues to run repeated iterations of scan if you
allow until it resolves all issues." to improve flow and plurality; ensure the
updated sentence reads smoothly (e.g., "...{mta-dl-plugin} continues to run
repeated scans until it resolves all issues.").
🪄 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: 250ea164-e85a-4990-a887-1b339f0e411b
📒 Files selected for processing (19)
assemblies/developer-lightspeed-guide/assembly_configuring-dev-lightspeed-ide.adocassemblies/developer-lightspeed-guide/assembly_configuring_llm.adocassemblies/developer-lightspeed-guide/assembly_getting-started.adocassemblies/developer-lightspeed-guide/assembly_run-dev-lightspeed-analysis.adocassemblies/developer-lightspeed-guide/assembly_understanding_dl.adocdocs/developer-lightspeed-guide/master.adocdocs/topics/developer-lightspeed/assembly_getting-started.adocdocs/topics/developer-lightspeed/con_installation.adocdocs/topics/developer-lightspeed/con_intro-to-developer-lightspeed.adocdocs/topics/developer-lightspeed/con_llm-service-openshift-ai.adocdocs/topics/developer-lightspeed/con_persistent-volumes.adocdocs/topics/developer-lightspeed/con_prerequisites.adocdocs/topics/developer-lightspeed/proc_configuring-developer-lightspeed-ide-settings.adocdocs/topics/developer-lightspeed/proc_configuring-developer-profile-settings.adocdocs/topics/developer-lightspeed/proc_running-agent-analysis.adocdocs/topics/developer-lightspeed/proc_tackle-enable-dev-lightspeed.adocdocs/topics/developer-lightspeed/proc_tackle-enable-llm-proxy.adocdocs/topics/developer-lightspeed/proc_tackle-llm-secret.adocdocs/topics/developer-lightspeed/ref_example-code-suggestion.adoc
💤 Files with no reviewable changes (2)
- docs/topics/developer-lightspeed/proc_tackle-enable-dev-lightspeed.adoc
- docs/topics/developer-lightspeed/assembly_getting-started.adoc
✅ Files skipped from review due to trivial changes (8)
- docs/developer-lightspeed-guide/master.adoc
- docs/topics/developer-lightspeed/con_persistent-volumes.adoc
- docs/topics/developer-lightspeed/con_installation.adoc
- docs/topics/developer-lightspeed/con_prerequisites.adoc
- assemblies/developer-lightspeed-guide/assembly_configuring_llm.adoc
- docs/topics/developer-lightspeed/proc_running-agent-analysis.adoc
- assemblies/developer-lightspeed-guide/assembly_understanding_dl.adoc
- docs/topics/developer-lightspeed/proc_tackle-enable-llm-proxy.adoc
🚧 Files skipped from review as they are similar to previous changes (4)
- assemblies/developer-lightspeed-guide/assembly_getting-started.adoc
- docs/topics/developer-lightspeed/con_llm-service-openshift-ai.adoc
- docs/topics/developer-lightspeed/con_intro-to-developer-lightspeed.adoc
- docs/topics/developer-lightspeed/proc_configuring-developer-profile-settings.adoc
I'm evaluating how practical is it to remove links from the main text. The links are more useful in the main text in some cases where they are referenced. |
|
@vashirova I have addressed all the concerns here and ran DITA validation that was passed by Claude Code. Can you please review the PR? |
@Pkylas007 thank you! As we are having a release next week, my capacity is limited but I'll try my best to complete review this week. |
Hi @vashirova , Thank you but please do not rush with this! I didn't know about the release. Please take your time 😄 |
|
@mpershina Thanks much for agreeing to review this PR! |
Signed-off-by: Prabha Kylasamiyer Sundara Rajan <pkylasam@pkylasam-thinkpadp16vgen1.bengluru.csb>
Signed-off-by: Prabha Kylasamiyer Sundara Rajan <pkylasam@pkylasam-thinkpadp16vgen1.bengluru.csb>
Signed-off-by: Prabha Kylasamiyer Sundara Rajan <pkylasam@pkylasam-thinkpadp16vgen1.bengluru.csb>
|
|
||
| * Visual Studio Code IDE settings. | ||
| * Profile settings that provide context before you request a code fix for a particular application. | ||
| * Profile settings that give context before you request a code fix for a particular application. |
There was a problem hiding this comment.
"Provide" in this context sounds a bit better than "give". We have no strict rule that prohibits using "provide". it's rather a minimalism concern that must not necessarily be changed. Especially, when it sounds better :-) Here's my suggestion to also reduce wordiness:
| * Profile settings that give context before you request a code fix for a particular application. | |
| * Profile settings that provide context before you request a code fix for an application. |
|
|
||
| [role="_abstract"] | ||
| The Getting started section contains information to walk you through the prerequisites, persistent volume requirements, installation, and workflows that help you to decide how you want to use {mta-dl-full}. | ||
| You can view prerequisites, persistent volume requirements, installation, and workflows that help you to decide how you want to use the {mta-dl-full}. |
There was a problem hiding this comment.
Short description should rather be structured as "Why, what". This is a user story format that we should use. Here's my suggestion:
| You can view prerequisites, persistent volume requirements, installation, and workflows that help you to decide how you want to use the {mta-dl-full}. | |
| Before installing and deploying the {mta-dl-full}, review the system requirements and deployment workflows. |
| After you complete the configurations, the next step is running an analysis to identify the issues in the code and generate suggestions to resolve the issues. You can get suggestions to fix code by using {mta-dl-full}. | ||
|
|
||
| When you run an analysis, {ProductShortName} displays the issues in the *Analysis Results* view. | ||
| After you complete the configurations, the next step is running an analysis to identify the issues in the code and generate suggestions to resolve the issues. |
There was a problem hiding this comment.
Same why and what
| After you complete the configurations, the next step is running an analysis to identify the issues in the code and generate suggestions to resolve the issues. | |
| After configuring the {mta-dl-full}, run an analysis of your application to identify code issues and generate resolution suggestions. |
| When you request code fix suggestions, {mta-dl-plugin} performs the following tasks: | ||
|
|
||
| * Streams LLM messages that describe the issue description, resolution, and the file in which the updates are applied. | ||
| * Streams LLM messages that describe the issue description, resolution, and the file in which {mta-dl-plugin} applies the updates. |
There was a problem hiding this comment.
Reducing wordiness
| * Streams LLM messages that describe the issue description, resolution, and the file in which {mta-dl-plugin} applies the updates. | |
| * Streams LLM messages that describe the issue, the resolution, and the file the {mta-dl-plugin} updates. |
| {mta-dl-full} generates logs to debug issues specific to the extension host and the {ProductShortName} analysis and Remote Procedure Call (RPC) server. You can also configure the log level for the {mta-dl-plugin} in the extension settings. The default log level is *debug*. | ||
|
|
||
| Extension logs are stored as `extension.log` with automatic rotation. The maximum size of the log file is 10 MB and three files are retained. Analyzer RPC logs are stored as `analyzer.log` without rotation. | ||
| {mta-dl-plugin} stores extension logs as `extension.log` with automatic rotation. The maximum size of the log file is 10 MB and {mta-dl-plugin} retains three files. {mta-dl-plugin} stores analyzer RPC logs as `analyzer.log` without rotation. |
There was a problem hiding this comment.
Since it's not part of the short description, shall we make it a bulleted list? It improves scanability and readability. Just please check if I managed to preserve the technical accuracy when speaking about log file size and number of files.
| {mta-dl-plugin} stores extension logs as `extension.log` with automatic rotation. The maximum size of the log file is 10 MB and {mta-dl-plugin} retains three files. {mta-dl-plugin} stores analyzer RPC logs as `analyzer.log` without rotation. | |
| The {mta-dl-plugin} stores the following logs: | |
| * Extension logs (`extension.log`) with automatic rotation. The plugin retains up to three files with a maximum size of 10 MB each. | |
| * Analyzer RPC logs (`analyzer.log` without automatic rotation. |
| The archival feature helps you to save the following information: | ||
|
|
||
| * Large language model (LLM) provider configuration: Fields from the provider settings that can be included in the archive. All fields are redacted for security reasons by default. Ensure that you do not expose any secrets. | ||
| * Large language model (LLM) provider configuration: Fields from the provider settings that you can include in the archive. {mta-dl-plugin} redacts all fields for security reasons by default. Ensure that you do not expose any secrets. |
There was a problem hiding this comment.
Reducing wordiness:
| * Large language model (LLM) provider configuration: Fields from the provider settings that you can include in the archive. {mta-dl-plugin} redacts all fields for security reasons by default. Ensure that you do not expose any secrets. | |
| * Large language model (LLM) provider configuration: The provider settings fields to include in the archive. To ensure security, the {mta-dl-plugin} redacts all fields by default. Do not expose any secrets. |
| You can configure the {mta-dl-plugin} extension to use centralized configuration and the large language model (LLM) through an LLM proxy. | ||
| Alternatively, you can configure the extension to use the LLM provider settings in your Visual Studio Code environment for code resolution suggestions. |
There was a problem hiding this comment.
Let's reduce word count here as well. Short descriptions are limited to ~300 characters, IIRC. We can split this info into 2 paragraphs: one for a short description and one as a standalone informational one. Especially, since the Note follows the abstract straightway, which shouldn't be the case. Please, check the technical accuracy (even with SMEs, if needed).
| You can configure the {mta-dl-plugin} extension to use centralized configuration and the large language model (LLM) through an LLM proxy. | |
| Alternatively, you can configure the extension to use the LLM provider settings in your Visual Studio Code environment for code resolution suggestions. | |
| You can configure the {mta-dl-plugin} by using a large language model (LLM) proxy or local Integrated Development Environment (IDE) settings to receive code resolution suggestions. | |
| After running a static code analysis, you can configure the {mta-dl-full} to perform the following actions to request code fix suggestions: | |
| * Use centralized configuration and the LLM through an LLM proxy. | |
| * Use the LLM provider settings in your Visual Studio Code. |
| * Activate the LLM provider in the `provider-settings.yaml` file. | ||
|
|
||
| * Enable the xref:running-agent-analysis_run-dev-lightspeed-analysis[Agent AI and run an analysis] to request code fix suggestion by using the Agent AI mode. | ||
| * Enable the Agent AI and run an analysis to request code fix suggestion by using the Agent AI mode. |
There was a problem hiding this comment.
| * Enable the Agent AI and run an analysis to request code fix suggestion by using the Agent AI mode. | |
| * Enable the Agent AI and run an analysis to request code fix suggestions by using the Agent AI mode. |
| You can allow client endpoints, for example, the {ProductShortName} Visual Studio Code extension, to use the proxy service to access the large language models (LLMs). The client uses Keycloak credentials to authenticate to the {ProductShortName} Hub. To authenticate to the LLM, the client sends a JSON Web Token (JWT) that Keycloak issues to the proxy service. The proxy service validates the client's JWT against the Hub's Keycloak instance. | ||
|
|
||
| The proxy service completes a separate authentication process to access the LLM through an Administrator-controlled endpoint. The proxy service authenticates to the LLM by using the cluster secret that contains the LLM API key configured by the Administrator. Thus, the proxy service allows Administrators to create, manage, and rotate LLM API keys without the need to share the LLM key with multiple client endpoints. | ||
| The proxy service completes a separate authentication process to access the LLM through an Administrator-controlled endpoint. The proxy service authenticates to the LLM by using the cluster secret that has the LLM API key that the Administrator configured. Thus, the proxy service allows Administrators to create, manage, and rotate LLM API keys without the need to share the LLM key with multiple client endpoints. |
There was a problem hiding this comment.
| The proxy service completes a separate authentication process to access the LLM through an Administrator-controlled endpoint. The proxy service authenticates to the LLM by using the cluster secret that has the LLM API key that the Administrator configured. Thus, the proxy service allows Administrators to create, manage, and rotate LLM API keys without the need to share the LLM key with multiple client endpoints. | |
| The proxy service completes a separate authentication process to access the LLM through an Administrator-controlled endpoint. The proxy service uses the Administrator-configured API key in the cluster secret to authenticate to the LLM. Thus, Administrators can use the proxy service to create, manage, and rotate LLM API keys without the need to share the LLM key with multiple client endpoints. |
| * (Optional) The default and custom rules may contain additional information that you include which can help {mta-dl-plugin} to define the context. | ||
| + | ||
| * Solved examples constitute code changes from other migrations and a pattern of resolution for an issue that can be used in future. A solved example is created when a Migrator accepts a resolution in a previous analysis that results in updated code or an unfamiliar issue in a legacy application that the Migrator manually fixed. Solved examples are stored in the Solution Server. | ||
| * Solved examples constitute code changes from other migrations and a pattern of resolution for an issue to use in future. {mta-dl-plugin} creates a solved example when a Migrator accepts a resolution in an earlier analysis that results in updated code or an unfamiliar issue in a legacy application that the Migrator manually fixed. The Solution Server stores solved examples. |
There was a problem hiding this comment.
| * Solved examples constitute code changes from other migrations and a pattern of resolution for an issue to use in future. {mta-dl-plugin} creates a solved example when a Migrator accepts a resolution in an earlier analysis that results in updated code or an unfamiliar issue in a legacy application that the Migrator manually fixed. The Solution Server stores solved examples. | |
| * Solved examples are reusable resolution patterns from previous migrations stored on the Solution Server. The {mta-dl-plugin} generates these examples when a Migrator accepts an automated resolution or manually fixes a legacy issue. |
| * Solved examples constitute code changes from other migrations and a pattern of resolution for an issue to use in future. {mta-dl-plugin} creates a solved example when a Migrator accepts a resolution in an earlier analysis that results in updated code or an unfamiliar issue in a legacy application that the Migrator manually fixed. The Solution Server stores solved examples. | ||
| + | ||
| More instances of solved examples for an issue enhance the context and improve the success metrics of rules that trigger the issue. Higher the success metrics of an issue, greater the confidence level associated with the accepted resolutions for that issue in previous analyses. | ||
| More instances of solved examples for an issue enhance the context and improve the success metrics of rules that trigger the issue. Higher the success metrics of an issue, greater the confidence level associated with the accepted resolutions for that issue in earlier analyses. |
There was a problem hiding this comment.
"Previous" here sounds better. "Previous" is only a problem when we talk about versions, where we should be more specific.
| More instances of solved examples for an issue enhance the context and improve the success metrics of rules that trigger the issue. Higher the success metrics of an issue, greater the confidence level associated with the accepted resolutions for that issue in earlier analyses. | |
| More instances of solved examples for an issue enhance the context and improve the success metrics of rules that trigger the issue. Higher the success metrics of an issue, greater the confidence level associated with the accepted resolutions for that issue in previous analyses. |
|
|
||
| [role="_abstract"] | ||
| Starting from 8.0.0, {ProductFullName} integrates with large language models (LLM) through the {mta-dl-full} component in the Visual Studio Code extension. You can use {mta-dl-plugin} to apply LLM-driven code changes to resolve issues found through static code analysis of Java applications. | ||
| Starting from 8.0.0, {ProductFullName} integrates with large language models (LLM) through the {mta-dl-full} plugin in the Visual Studio Code extension. You can use {mta-dl-plugin} to apply LLM-assisted code changes to resolve issues that static code analysis identifies in Java applications. |
There was a problem hiding this comment.
No need to mention the version. DL is only available with 8.0, so it is not an update. It's a new feature in 8.0. Thus, the version is redundant here. Also, please, check the character count for this short description. It should not exceed ~300 or 350 characters.
| Starting from 8.0.0, {ProductFullName} integrates with large language models (LLM) through the {mta-dl-full} plugin in the Visual Studio Code extension. You can use {mta-dl-plugin} to apply LLM-assisted code changes to resolve issues that static code analysis identifies in Java applications. | |
| The {ProductFullName} integrates with large language models (LLM) through the {mta-dl-full} plugin in the Visual Studio Code extension. You can use {mta-dl-plugin} to apply LLM-assisted code changes to resolve issues that static code analysis identifies in Java applications. |
| {ProductFirstRef} performs the static code analysis for a specified target technology to which you want to migrate your applications. Red Hat provides 2400+ analysis rules in {ProductShortName} for various Java technologies and you can extend the ruleset for custom frameworks or new technologies by creating custom rules. | ||
|
|
||
| The static code analysis describes the issues in your code that must be resolved. As you perform analysis for a large portfolio of applications, the issue description and the rule definition that may contain additional information form a large corpus of data that contains repetitive patterns of problem definitions and solutions. | ||
| The static code analysis describes the issues in your code that you must resolve. As you perform analysis for a large portfolio of applications, the issue description and the rule definition that may contain additional information form a large corpus of data that has repetitive patterns of problem definitions and solutions. |
There was a problem hiding this comment.
| The static code analysis describes the issues in your code that you must resolve. As you perform analysis for a large portfolio of applications, the issue description and the rule definition that may contain additional information form a large corpus of data that has repetitive patterns of problem definitions and solutions. | |
| The static code analysis describes the issues in your code that you must resolve. As you perform analysis for a large portfolio of applications, the issue description and the rule definition that may contain additional information form a large corpus of data that has repetitive patterns of problem definitions and solutions. |
| The static code analysis describes the issues in your code that you must resolve. As you perform analysis for a large portfolio of applications, the issue description and the rule definition that may contain additional information form a large corpus of data that has repetitive patterns of problem definitions and solutions. | ||
|
|
||
| Migrators do duplicate work by resolving issues that are repeated across applications in different migration waves. | ||
| Migrators do duplicate work by resolving issues that repeat across applications in different migration waves. |
There was a problem hiding this comment.
| Migrators do duplicate work by resolving issues that repeat across applications in different migration waves. | |
| Migrators duplicate work by resolving issues that repeat across applications in different migration waves. |
| {mta-dl-plugin} works by collecting and storing the changes in the code for a large collection of applications, finding context to generate prompts for the LLM of your choice, and by generating code resolutions that the LLM produces to address specific issues. | ||
|
|
||
| {mta-dl-plugin} augments the manual changes made to code throughout your organization in different migration waves and creates a context for a large language model (LLM). The LLM suggests code resolutions based on the issue description, context, and previous examples of code changes to resolve issues. | ||
| {mta-dl-plugin} augments the manual changes that you make to code throughout your organization in different migration waves and creates a context for a large language model (LLM). The LLM suggests code resolutions based on the issue description, context, and earlier examples of code changes to resolve issues. |
There was a problem hiding this comment.
Check tech accuracy, please:
| {mta-dl-plugin} augments the manual changes that you make to code throughout your organization in different migration waves and creates a context for a large language model (LLM). The LLM suggests code resolutions based on the issue description, context, and earlier examples of code changes to resolve issues. | |
| The {mta-dl-plugin} uses your manual code changes to build context for a large language model (LLM). The LLM then suggests code resolutions based on the issue, context, and solved examples. |
| The code suggestions from {mta-dl-full} differ based on the large language model (LLM) that you use. Therefore, you may want to use an LLM that caters to your specific requirements. | ||
|
|
||
| {mta-dl-plugin} integrates with LLMs that are deployed as a scalable service on {ocp-name} AI clusters. These deployments provide you with granular control over resources such as compute, cluster nodes, and auto-scaling Graphical Processing Units (GPUs) while enabling you to leverage LLMs to resolve code issues at a large scale. | ||
| {mta-dl-plugin} integrates with LLMs that you deployed as a scalable service on {ocp-name} AI clusters. These deployments give you granular control over resources such as compute, cluster nodes, and auto-scaling Graphical Processing Units (GPUs) while enabling you to use LLMs to resolve code issues at a large scale. |
There was a problem hiding this comment.
Reducing wordiness:
| {mta-dl-plugin} integrates with LLMs that you deployed as a scalable service on {ocp-name} AI clusters. These deployments give you granular control over resources such as compute, cluster nodes, and auto-scaling Graphical Processing Units (GPUs) while enabling you to use LLMs to resolve code issues at a large scale. | |
| The {mta-dl-plugin} integrates with LLMs deployed as a scalable service on {ocp-name} AI clusters. This integration provides granular control over compute resources, cluster nodes, and auto-scaling Graphical Processing Units (GPUs) to resolve code issues at scale." |
|
|
||
| [role="_abstract"] | ||
| The Solution Server component requires a backend database to store code changes from previous analyses. | ||
| The Solution Server component requires a backend database to store code changes from earlier analyses. |
There was a problem hiding this comment.
| The Solution Server component requires a backend database to store code changes from earlier analyses. | |
| The Solution Server component requires a backend database to store code changes from previous analyses. |
| The Solution Server component requires a backend database to store code changes from earlier analyses. | ||
|
|
||
| If you plan to enable Solution Server, you must create a `5Gi` `RWO` persistent volume used by the {mta-dl-plugin} database. See link:{mta-URL}/installing_the_migration_toolkit_for_applications/index#persistent-volume-requirements_installing-mta-ui[Persistent volume requirements] for more information. | ||
| If you plan to enable Solution Server, you must create a `5Gi` ReadWriteOnce (`RWO`) persistent volume for the {mta-dl-plugin} database. |
There was a problem hiding this comment.
https://redhat-documentation.github.io/supplementary-style-guide/#gb + shortening:
| If you plan to enable Solution Server, you must create a `5Gi` ReadWriteOnce (`RWO`) persistent volume for the {mta-dl-plugin} database. | |
| To enable Solution Server, you must create a 5 GB ReadWriteOnce (`RWO`) persistent volume for the {mta-dl-plugin} database. |
|
|
||
| [role="_abstract"] | ||
| This section lists the prerequisites required to successfully use the generative AI features in the {mta-dl-plugin} Visual Studio (VS) Code extension. | ||
| You can use the prerequisites required to successfully use the generative AI features in the {mta-dl-plugin} Visual Studio Code extension. |
There was a problem hiding this comment.
| You can use the prerequisites required to successfully use the generative AI features in the {mta-dl-plugin} Visual Studio Code extension. | |
| Review the prerequisites required to use the generative AI features in the {mta-dl-plugin} Visual Studio Code extension. |
| Solution Server is a component that allows {mta-dl-plugin} to build a collective memory of source code changes from all analyses that an organization performs. This helps you to use the recurring patterns of solutions for issues that repeat in many applications. You can opt to use the Solution Server to request AI-assisted code resolutions. | ||
|
|
||
| The Solution Server augments previous patterns of how source code changed to resolve issues (also called solved examples) that were similar to those in the current file, and suggests a resolution that has a higher confidence level derived from previous solutions. After you accept a suggested code fix, the Solution Server works with the large language model (LLM) to improve the hints about the issue that becomes part of the context. An improved context enables the LLM to generate more reliable code fix suggestions in future cases. | ||
| The Solution Server augments earlier patterns of how source code changed to resolve issues (also called solved examples) that were similar to those in the current file, and suggests a resolution that has a higher confidence level derived from earlier solutions. After you accept a suggested code fix, the Solution Server works with the large language model (LLM) to improve the hints about the issue that becomes part of the context. An improved context enables the LLM to generate more reliable code fix suggestions in future cases. |
There was a problem hiding this comment.
Reduced wordiness:
| The Solution Server augments earlier patterns of how source code changed to resolve issues (also called solved examples) that were similar to those in the current file, and suggests a resolution that has a higher confidence level derived from earlier solutions. After you accept a suggested code fix, the Solution Server works with the large language model (LLM) to improve the hints about the issue that becomes part of the context. An improved context enables the LLM to generate more reliable code fix suggestions in future cases. | |
| The Solution Server uses solved examples to suggest high-confidence resolutions for similar issues. When you accept a code fix, the Solution Server updates the large language model (LLM) context. By using this improved context, the LLM generates more reliable future suggestions. |
|
|
||
| [role="_abstract"] | ||
| When you request code resolutions by enabling the Solution Server, an issue displays the success metric when the metric becomes available. A success metric indicates the confidence level in applying the fix suggestion from the LLM based on how many times the update was applied in past analysis. | ||
| When you request code resolutions by enabling the Solution Server, an issue displays the success metric when the metric becomes available. A success metric indicates the confidence level in applying the fix suggestion from the LLM based on how many times you applied the update in past analyses. |
There was a problem hiding this comment.
This is a procedure module. A short description must include why and what to comply with the requirements. We can move this information below the short description, if you'd like to preserve it:
| When you request code resolutions by enabling the Solution Server, an issue displays the success metric when the metric becomes available. A success metric indicates the confidence level in applying the fix suggestion from the LLM based on how many times you applied the update in past analyses. | |
| To resolve application code issues, apply the fix suggestions generated by the Solution Server. | |
| When you request code resolutions by enabling the Solution Server, issues display a success metric when it becomes available. This metric indicates the confidence level of the suggested LLM fix based on your past updates. |
| . Use the *Category* drop down to filter issues based on how crucial the fix is for the target migration. You can filter mandatory, potential, and optional issues. | ||
| . Click *Has Success Rate* to check how many times the same issue resolution was accepted in previous analysis. | ||
| . Click the solution tool to trigger automated updates to your code. If you applied any category filter, code updates are made for all incidents, specific files, or specific issues based on the filter. | ||
| . Click *Has Success Rate* to check how many times you accepted the same issue resolution in an earlier analysis. |
There was a problem hiding this comment.
| . Click *Has Success Rate* to check how many times you accepted the same issue resolution in an earlier analysis. | |
| . Click *Has Success Rate* to check how many times you accepted the same issue resolution in a previous analysis. |
| . Click *Has Success Rate* to check how many times the same issue resolution was accepted in previous analysis. | ||
| . Click the solution tool to trigger automated updates to your code. If you applied any category filter, code updates are made for all incidents, specific files, or specific issues based on the filter. | ||
| . Click *Has Success Rate* to check how many times you accepted the same issue resolution in an earlier analysis. | ||
| . Click the solution tool to trigger automated updates to your code. If you applied any category filter, {mta-dl-plugin} makes code updates for all incidents, specific files, or specific issues based on the filter. |
There was a problem hiding this comment.
| . Click the solution tool to trigger automated updates to your code. If you applied any category filter, {mta-dl-plugin} makes code updates for all incidents, specific files, or specific issues based on the filter. | |
| . Click the solution tool to trigger automated updates to your code. If you applied any category filter, {mta-dl-plugin} applies code updates for all incidents, specific files, or specific issues based on the filter. |
|
|
||
| [role="_abstract"] | ||
| After you install the {ProductShortName} extension in Visual Studio (VS) Code, you must provide your large language model (LLM) credentials to activate {mta-dl-plugin} settings in Visual Studio (VS) Code. | ||
| Configure the Visual Studio Code Integrated Development Environment (IDE) settings to perform analyses and AI-assisted code resolutions. You can broadly categorize the extension settings into debugging and logging, {mta-dl-plugin} settings, analysis settings, and Solution Server settings. |
There was a problem hiding this comment.
Just a slight sentence parts exchange to make it look like why and what
| Configure the Visual Studio Code Integrated Development Environment (IDE) settings to perform analyses and AI-assisted code resolutions. You can broadly categorize the extension settings into debugging and logging, {mta-dl-plugin} settings, analysis settings, and Solution Server settings. | |
| To perform analyses and AI-assisted code resolutions, configure the Visual Studio Code Integrated Development Environment (IDE) settings. You can categorize the extension settings into debugging and logging, {mta-dl-plugin} settings, analysis settings, and Solution Server settings. |
| |Analyzer path|Specify an {ProductShortName} custom binary path. If you do not provide a path, {mta-dl-plugin} uses the default path to the binary. | ||
| |Auto Accept on Save|This option is enabled by default. When you accept the changes suggested by the LLM, the updated code is saved automatically in a new file. Disable this option if you want to manually save the new file after accepting the suggested code changes. | ||
| |Gen AI:Enabled|This option is enabled by default. It enables you to get code fixes by using {mta-dl-plugin} with a large language model. | ||
| |Analyzer path|Specify an {ProductShortName} custom binary path. If you do not give a path, {mta-dl-plugin} uses the default path to the binary. |
There was a problem hiding this comment.
| |Analyzer path|Specify an {ProductShortName} custom binary path. If you do not give a path, {mta-dl-plugin} uses the default path to the binary. | |
| |Analyzer path|Specify an {ProductShortName} custom binary path. If you do not enter a path, {mta-dl-plugin} uses the default path to the binary. |
| You can use the Visual Studio (VS) Code plugin to run an analysis to discover issues in the code. You can optionally enable {mta-dl-full} to get AI-assisted code suggestions. | ||
|
|
||
| To generate code changes using {mta-dl-plugin}, you must configure a profile that contains all the necessary configurations, such as source and target technologies and the API key to connect to your chosen large language model (LLM). | ||
| To perform repeated analyses, you can create a reusable profile configuration. You can use the profile you configure in your Integrated Development Environment (IDE). |
There was a problem hiding this comment.
A more direct action for the procedure
| To perform repeated analyses, you can create a reusable profile configuration. You can use the profile you configure in your Integrated Development Environment (IDE). | |
| To perform repeated analyses, create a reusable profile configuration. You can use the profile you configure in your Integrated Development Environment (IDE). |
|
|
||
| After you complete the profile configuration, close the `Get Ready to Analyze` pane. You can verify that your configuration works by running an analysis. | ||
|
|
||
| The `Get Ready to Analyze` pane lists the profile configuration options. |
There was a problem hiding this comment.
| The `Get Ready to Analyze` pane lists the profile configuration options. | |
| The `Get Ready to Analyze` pane lists the profile configuration options: |
| After you complete the profile configuration: | ||
|
|
||
| . Open *{ProductShortName} Analysis View*. | ||
| . Click *Run Analysis* to verify that your configuration works by running an analysis. |
There was a problem hiding this comment.
This section doesn't allow standalone sentences, only steps, similarly to the Procedure section:
| After you complete the profile configuration: | |
| . Open *{ProductShortName} Analysis View*. | |
| . Click *Run Analysis* to verify that your configuration works by running an analysis. | |
| * Verify that your configuration works by running an analysis: | |
| .. Open *{ProductShortName} Analysis View*. | |
| .. Click *Run Analysis*. |
|
|
||
| [role="_abstract"] | ||
| The Podman AI lab extension enables you to use an open-source model from a curated list of models and use it locally in your system. | ||
| Use the Podman AI lab extension to select an open source model from a curated list of models and run it locally in your system. |
There was a problem hiding this comment.
Why before what:
| Use the Podman AI lab extension to select an open source model from a curated list of models and run it locally in your system. | |
| To select an open source model from a curated list of models and run it locally in your system, use the Podman AI lab extension. |
| Use the Podman AI lab extension to select an open source model from a curated list of models and run it locally in your system. | ||
|
|
||
| The code fix suggestions generated by a model depends on the model's capabilities. Models deployed through the Podman AI Lab were found to be insufficient for the complexity of code changes required to fix issues discovered by {ProductShortName}. You must not use such models in a production environment. | ||
| The code fix suggestions that a model generates depend on the model's capabilities. Models from the Podman AI Lab are insufficient for the complexity of code changes needed to fix issues that {ProductShortName} discovers. You must not use such models in a production environment. |
There was a problem hiding this comment.
| The code fix suggestions that a model generates depend on the model's capabilities. Models from the Podman AI Lab are insufficient for the complexity of code changes needed to fix issues that {ProductShortName} discovers. You must not use such models in a production environment. | |
| The code fix suggestions that a model generates depend on the model's capabilities. Models from the Podman AI Lab are insufficient for the complexity of code changes needed to fix issues that {ProductShortName} discovers. Do not use such models in a production environment. |
|
|
||
| [role="_abstract"] | ||
| In the agent mode, the {mta-dl-plugin} planning agent creates the context for an issue and picks a sub-agent that is most suited to resolve the issue. The sub-agent runs an automated scan to describe how the issue can be resolved and generates files with the updated resolutions in one stream. | ||
| As a Migrator, you can use the agent mode to run an automated analysis that streams the code resolutions that the agent can apply to your source code. When using the agent mode, you can reject the changes or stop the stream but you cannot edit the updated files during the stream. |
There was a problem hiding this comment.
| As a Migrator, you can use the agent mode to run an automated analysis that streams the code resolutions that the agent can apply to your source code. When using the agent mode, you can reject the changes or stop the stream but you cannot edit the updated files during the stream. | |
| As a Migrator, to run an automated analysis that streams code resolutions, use the agent mode. | |
| When using the agent mode, you can reject the changes or stop the stream. However,you cannot edit the updated files during the stream. |
| .Prerequisites | ||
|
|
||
| * You deployed an additional `RWO` volume for the `{mta-dl-plugin}-database` if you want to use {mta-dl-plugin}. See link:{mta-URL}/installing_the_migration_toolkit_for_applications/index#persistent-volume-requirements_installing-mta-ui[Persistent volume requirements] for more information. | ||
| * You deployed an additional ReadWriteOnce (`RWO`) volume for the `{mta-dl-plugin}-database` if you want to use {mta-dl-plugin}. See Persistent volume requirements for more information. |
There was a problem hiding this comment.
Empty reference text doesn't play any role here. I know we cannot use links, but it's better to drop it completely in this case. Users should know about the requirements from the very beginning if they follow the user journey
| * You deployed an additional ReadWriteOnce (`RWO`) volume for the `{mta-dl-plugin}-database` if you want to use {mta-dl-plugin}. See Persistent volume requirements for more information. | |
| * You deployed an additional ReadWriteOnce (`RWO`) volume for the `{mta-dl-plugin}-database` if you want to use {mta-dl-plugin}. |
|
|
||
| [role="_abstract"] | ||
| This example will walk you through generating code fixes for a Java application that must be migrated to the target technology `quarkus`. To generate resolutions for issues in the code, we use the Agentic AI mode and the `my-model` as the large language model (LLM) that you deployed in {ocp-name} AI. | ||
| Generate code fixes for a Java application you want to migrate to the target technology `quarkus`. To stream code changes that resolve issues in the code, use the Agent mode and the `my-model` as the large language model (LLM) that you deployed in {ocp-name} AI. |
There was a problem hiding this comment.
| Generate code fixes for a Java application you want to migrate to the target technology `quarkus`. To stream code changes that resolve issues in the code, use the Agent mode and the `my-model` as the large language model (LLM) that you deployed in {ocp-name} AI. | |
| Generate code fixes for a Java application you want to migrate to the `quarkus` target technology. To stream code changes that resolve issues in the code, use the Agent mode and the `my-model` as the large language model (LLM) that you deployed in {ocp-name} AI. |
| . Click the solutions icon (image:solutions-icon-new.png["Click solutions icon"]) in an issue to request suggestions to resolve the issue. | ||
| + | ||
| {mta-dl-plugin} streams the issue description, a preview of the code changes that resolve the issue, and the file(s) in which the changes are to be made. | ||
| {mta-dl-plugin} streams the issue description, a preview of the code changes in files that resolve the issue. |
There was a problem hiding this comment.
| {mta-dl-plugin} streams the issue description, a preview of the code changes in files that resolve the issue. | |
| {mta-dl-plugin} streams the issue description and a preview of the code changes in files that resolve the issue. |
| {mta-dl-full} is large language model (LLM) agnostic and integrates with an LLM of your choice. To enable {mta-dl-plugin} to access your large language model (LLM), you must enter the LLM provider configurations in the `provider-settings.yaml` file. | ||
|
|
||
| The `provider-settings.yaml` file contains a list of LLM providers that are supported by default. The mandatory environment variables are different for each LLM provider. Depending on the provider that you choose, you can configure additional environment variables for a model in the `provider-settings.yaml` file. You can also enter a new provider with the required environment variables, the base URL, and the model name. | ||
| The `provider-settings.yaml` file has a list of LLM providers that {mta-dl-plugin} supports by default. The mandatory environment variables are different for each LLM provider. Depending on the provider that you choose, you can configure additional environment variables for a model in the `provider-settings.yaml` file. You can also enter a new provider with the required environment variables, the base URL, and the model name. |
There was a problem hiding this comment.
"Contains" is a better word in this case.
| The `provider-settings.yaml` file has a list of LLM providers that {mta-dl-plugin} supports by default. The mandatory environment variables are different for each LLM provider. Depending on the provider that you choose, you can configure additional environment variables for a model in the `provider-settings.yaml` file. You can also enter a new provider with the required environment variables, the base URL, and the model name. | |
| The `provider-settings.yaml` file contains a list of LLM providers that {mta-dl-plugin} supports by default. The mandatory environment variables are different for each LLM provider. Depending on the provider that you choose, you can configure additional environment variables for a model in the `provider-settings.yaml` file. You can also enter a new provider with the required environment variables, the base URL, and the model name. |
| [NOTE] | ||
| ==== | ||
| It is recommended to use the link:https://aws.amazon.com/cli/[AWS CLI] and verify that you have command line access to AWS services before you proceed with the `provider-settings` configurations. | ||
| You can use the AWS CLI to verify that you have command line access to AWS services before you proceed with the `provider-settings` configurations. |
There was a problem hiding this comment.
| You can use the AWS CLI to verify that you have command line access to AWS services before you proceed with the `provider-settings` configurations. | |
| To verify command-line access to Amazon Web Services (AWS) before configuring `provider-settings`, use the AWS CLI. |
mpershina
left a comment
There was a problem hiding this comment.
Review complete. Please, see my comments, suggestions, and fixes.
JIRA
CQA validation
Version
Preview
Summary by CodeRabbit
Release Notes