Skip to content

MTA-6448 Rules Development guide DITA modifications#349

Merged
Pkylas007 merged 4 commits intomainfrom
mta-6448-dita-rules-guide
Apr 13, 2026
Merged

MTA-6448 Rules Development guide DITA modifications#349
Pkylas007 merged 4 commits intomainfrom
mta-6448-dita-rules-guide

Conversation

@Pkylas007
Copy link
Copy Markdown
Collaborator

@Pkylas007 Pkylas007 commented Apr 10, 2026

JIRA

Version

  • 8.1.0

Preview

Files removed/unavailable in the repo:

  • rules-testing-junit.adoc
  • validation-report.adoc
  • running-analysis-using-custom-yaml-rule.adoc
  • validation-report-understanding.adoc
  • overriding-rules.adoc
  • mta-about-home-var.adoc (applicable only in CLI guide)
  • rules-important-links.adoc
  • fork-ruleset-repo.adoc
  • review-existing-rules.adoc
  • manually-test-rules.adoc
  • testing-rules.adoc
  • validation-report-errors.adoc
  • create-yaml-rule.adoc
  • create-basic-yaml-rule-template.adoc
  • yaml-logical-condition.adoc (merged the one-liner with assembly content)

Summary by CodeRabbit

  • Documentation
    • Reorganized rules development guide documentation for improved clarity.
    • Removed outdated content from ruleset creation and custom rule execution guides.
    • Updated formatting and terminology throughout the documentation.
    • Refined descriptions of logical conditions and provider capabilities.
    • Consolidated and reformatted code examples for better readability.

Signed-off-by: Prabha Kylasamiyer Sundara Rajan <pkylasam@pkylasam-thinkpadp16vgen1.bengluru.csb>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 10, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: c11eb722-e945-4c37-b02d-fe401bed8ba9

📥 Commits

Reviewing files that changed from the base of the PR and between 27e6e2d and 775d27a.

📒 Files selected for processing (2)
  • docs/topics/rules-development/yaml-builtin-provider.adoc
  • docs/topics/rules-development/yaml-dotnet-provider.adoc

📝 Walkthrough

Walkthrough

The PR removes and reorganizes documentation for YAML logical conditions. It deletes four complete documentation pages, removes the yaml-logical-conditions.adoc include from the assembly (while keeping related topic includes), adds an explicit section anchor to "Additional resources," and applies minor formatting and text clarifications to remaining documentation files.

Changes

Cohort / File(s) Summary
Assembly and logical conditions
assemblies/rules-development-guide/assembly_logical-chaining-custom-variables.adoc, docs/rules-development-guide/master.adoc
Updated assembly abstract to explicitly state the analyzer provides and/or logical operators; removed yaml-logical-conditions.adoc include; added section anchor [id="_additional-resources"] to Additional resources heading.
Removed documentation pages
docs/topics/rules-development/create-yaml-rule.adoc, docs/topics/rules-development/create-basic-yaml-ruleset-template.adoc, docs/topics/rules-development/running-analysis-using-custom-yaml-rule.adoc, docs/topics/rules-development/mta-about-home-var.adoc, docs/topics/rules-development/yaml-logical-conditions.adoc
Deleted five complete documentation files including YAML rule creation procedures, ruleset template guidance, analysis invocation instructions, MTA home variable documentation, and the logical conditions overview.
Formatting and text updates
docs/topics/rules-development/create-basic-yaml-rule-template.adoc, docs/topics/rules-development/yaml-and-condition.adoc, docs/topics/rules-development/yaml-or-condition.adoc, docs/topics/rules-development/yaml-builtin-provider.adoc, docs/topics/rules-development/yaml-dotnet-provider.adoc, docs/topics/rules-development/yaml-provider-conditions.adoc, docs/topics/rules-development/yaml-rule-labels.adoc, docs/topics/rules-development/yaml-rulesets.adoc, docs/topics/rules-development/yaml-chaining-java-provider.adoc
Minor whitespace adjustments, section heading format updates (dot-prefix to double-colon syntax), example label changes (.Example to For example:), terminology updates (engineanalyzer), variable name capitalization correction (filepathsFilepaths), and AsciiDoc block attribute refinements.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~22 minutes

Possibly related PRs

Suggested reviewers

  • anarnold97
  • mguetta1
  • mpershina

Poem

🐰 Docs trimmed with care and grace,
Anchors added in their place,
Logical paths made crystal clear,
YAML wisdom brought so near,
Files refined with gentle touch—
Knowledge shared means oh, so much! ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: DITA-related modifications to the Rules Development guide documentation, covering file removals, structural reorganization, and formatting updates across multiple assembly and topic files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch mta-6448-dita-rules-guide

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 and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (3)
docs/topics/rules-development/yaml-chaining-java-provider.adoc (1)

10-10: Clarify "upper case" wording for precision.

The phrasing "must be in upper case" is technically imprecise. The variable Filepaths uses PascalCase (capitalized first letter), not "upper case" (which typically implies ALL CAPS like FILEPATHS).

Consider revising to: "the Filepaths variable must be capitalized" or "must use PascalCase" for technical accuracy.

📝 Suggested rewording
-In the `java` provider, the `Filepaths` variable must be in upper case, for example:
+In the `java` provider, the `Filepaths` variable must be capitalized, for example:
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/topics/rules-development/yaml-chaining-java-provider.adoc` at line 10,
Update the wording that currently says "must be in upper case" for the
`Filepaths` variable in the `java` provider: replace that phrase with a precise
term such as "must be capitalized" or "must use PascalCase" (e.g., `Filepaths`)
so it accurately describes the required naming convention for the variable
`Filepaths` in the java provider documentation.
docs/rules-development-guide/master.adoc (1)

35-36: Verify intended TOC impact of "Additional resources" section.

The change from a level-2 section heading (== Additional resources) to a block title (.Additional resources) with an explicit ID will remove "Additional resources" from the document's table of contents while still allowing it to be cross-referenced.

If keeping "Additional resources" out of the TOC is intentional (treating it as supplementary content rather than a main section), this change is correct. However, if it should remain in the TOC for navigation, the original == Additional resources syntax should be retained and combined with the explicit ID:

[id="_additional-resources"]
== Additional resources

Please confirm whether "Additional resources" should appear in the generated table of contents.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/rules-development-guide/master.adoc` around lines 35 - 36, The document
changed the "Additional resources" heading from a level-2 section to a block
title with an ID, which removes it from the generated TOC; if you want it to
appear in the TOC restore the section syntax by replacing the block title
`.Additional resources` with a level-2 heading and keep the explicit ID above it
(i.e., use `[id="_additional-resources"]` followed by `== Additional
resources`), otherwise leave the block title as-is if you intentionally want it
omitted from the TOC.
assemblies/rules-development-guide/assembly_logical-chaining-custom-variables.adoc (1)

21-21: Minor wording inconsistency: "aggregate or filter" versus "aggregate results".

The sentence introduces "aggregate or filter conditions" as general capabilities, but then describes both and and or conditions as being used to "aggregate results." The detailed topic files for both conditions also use "aggregate" terminology exclusively. Consider aligning the wording for consistency.

For example, you could simplify to:

-* Logical conditions inform the provider how to handle more than one condition in a when block. You can aggregate or filter conditions using logical operations. The analyzer provides two basic logical conditions, `and` and `or`, which you can use to aggregate results of other conditions.
+* Logical conditions inform the provider how to handle more than one condition in a when block. The analyzer provides two basic logical conditions, `and` and `or`, which you can use to aggregate results of other conditions using logical operations.

Alternatively, if "filter" is a distinct capability, consider clarifying which conditions aggregate versus filter.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@assemblies/rules-development-guide/assembly_logical-chaining-custom-variables.adoc`
at line 21, Update the wording so it's consistent: change "aggregate or filter
conditions" to "aggregate conditions" (or explicitly state which operators
filter) in the sentence describing Logical conditions inside the when block;
specifically edit the sentence that mentions `and` and `or` to use "aggregate
results" to match the `and` and `or` topics, or else clarify that "filter" is a
different capability and which operators perform filtering.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In
`@assemblies/rules-development-guide/assembly_logical-chaining-custom-variables.adoc`:
- Line 21: Update the wording so it's consistent: change "aggregate or filter
conditions" to "aggregate conditions" (or explicitly state which operators
filter) in the sentence describing Logical conditions inside the when block;
specifically edit the sentence that mentions `and` and `or` to use "aggregate
results" to match the `and` and `or` topics, or else clarify that "filter" is a
different capability and which operators perform filtering.

In `@docs/rules-development-guide/master.adoc`:
- Around line 35-36: The document changed the "Additional resources" heading
from a level-2 section to a block title with an ID, which removes it from the
generated TOC; if you want it to appear in the TOC restore the section syntax by
replacing the block title `.Additional resources` with a level-2 heading and
keep the explicit ID above it (i.e., use `[id="_additional-resources"]` followed
by `== Additional resources`), otherwise leave the block title as-is if you
intentionally want it omitted from the TOC.

In `@docs/topics/rules-development/yaml-chaining-java-provider.adoc`:
- Line 10: Update the wording that currently says "must be in upper case" for
the `Filepaths` variable in the `java` provider: replace that phrase with a
precise term such as "must be capitalized" or "must use PascalCase" (e.g.,
`Filepaths`) so it accurately describes the required naming convention for the
variable `Filepaths` in the java provider documentation.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: b2e25a41-9701-4bae-b0d0-8173bb9028a9

📥 Commits

Reviewing files that changed from the base of the PR and between 160573e and 1245ab6.

📒 Files selected for processing (18)
  • assemblies/rules-development-guide/assembly_logical-chaining-custom-variables.adoc
  • assemblies/rules-development-guide/assembly_rule-rulesets.adoc
  • docs/rules-development-guide/master.adoc
  • docs/topics/rules-development/create-basic-yaml-rule-template.adoc
  • docs/topics/rules-development/create-basic-yaml-ruleset-template.adoc
  • docs/topics/rules-development/create-yaml-rule.adoc
  • docs/topics/rules-development/mta-about-home-var.adoc
  • docs/topics/rules-development/running-analysis-using-custom-yaml-rule.adoc
  • docs/topics/rules-development/yaml-and-condition.adoc
  • docs/topics/rules-development/yaml-builtin-provider.adoc
  • docs/topics/rules-development/yaml-chaining-java-provider.adoc
  • docs/topics/rules-development/yaml-dotnet-provider.adoc
  • docs/topics/rules-development/yaml-go-provider.adoc
  • docs/topics/rules-development/yaml-java-provider.adoc
  • docs/topics/rules-development/yaml-logical-conditions.adoc
  • docs/topics/rules-development/yaml-or-condition.adoc
  • docs/topics/rules-development/yaml-rule-labels.adoc
  • docs/topics/rules-development/yaml-rulesets.adoc
💤 Files with no reviewable changes (6)
  • assemblies/rules-development-guide/assembly_rule-rulesets.adoc
  • docs/topics/rules-development/create-basic-yaml-ruleset-template.adoc
  • docs/topics/rules-development/running-analysis-using-custom-yaml-rule.adoc
  • docs/topics/rules-development/yaml-logical-conditions.adoc
  • docs/topics/rules-development/mta-about-home-var.adoc
  • docs/topics/rules-development/create-yaml-rule.adoc

Signed-off-by: Prabha Kylasamiyer Sundara Rajan <pkylasam@pkylasam-thinkpadp16vgen1.bengluru.csb>
@Pkylas007 Pkylas007 requested a review from mpershina April 10, 2026 07:59
You can create complex conditions in rules by using the following:

* Logical conditions inform the provider how to handle more than one condition in a when block. You can aggregate or filter conditions using logical operations.
* Logical conditions inform the provider how to handle more than one condition in a when block. The analyzer provides two basic logical conditions, `and` and `or`, which you can use to aggregate results of other conditions.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Logical conditions inform the provider how to handle more than one condition in a when block. The analyzer provides two basic logical conditions, `and` and `or`, which you can use to aggregate results of other conditions.
* Logical conditions inform the provider how to handle more than one condition in a `when` block. The analyzer provides `and` and `or` basic logical conditions that you can use to aggregate results of other conditions.

----

.Example
For example:
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This wording seems a bit redundant since you introduce these block as examples in the sentence above

Suggested change
For example:

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed the block .Example because that's been cited as a Block title issue in the DITA check. That's why I changed it to "For example:" which is just text.


By using the `referenced` capability, the provider finds references in the source code. This capability takes three input parameters: `pattern`, `location`, and `annotated`.
+

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The rendering fails in the preview. I think this is because of this one addition sign

Suggested change

+
where:

+
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not needed before the description list

Suggested change
+

`annotated` :: Checks for specific annotations and their elements, such as name and value, in the Java code by using a query. For example, the following query matches the `Bean` (URL = “http://www.example.com”) annotation in the method.

+

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change

value: "http://www.example.com"
----
+

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change

----

.Example
For example:
Copy link
Copy Markdown
Collaborator

@mpershina mpershina Apr 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto (see above)

Suggested change
For example:

Copy link
Copy Markdown
Collaborator Author

@Pkylas007 Pkylas007 Apr 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have to remove .Example. Though this format is allowed in modular templates that we have, it's flagged as an error in every DITA run. Thoughts?

----

.Dependency label selector
Dependency label selector::
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there's a problem with rendering in this section. Probably because of the absence of addition signs here and there. Please, check the preview

* `konveyor.io/include`: Overrides filter behavior for a rule irrespective of the label selector used. The value can either be `always` or `never`. If you specify `always`, the analyzer always filters-in this rule, while for `never`, the analyzer excludes this rule.

.Label selector
Label selector::
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there's a problem with rendering in this section. Probably because of the absence of addition signs here and there. Please, check the preview

Copy link
Copy Markdown
Collaborator

@mpershina mpershina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some rendering issues are present; also, a couple of suggestions.

Signed-off-by: Prabha Kylasamiyer Sundara Rajan <pkylasam@pkylasam-thinkpadp16vgen1.bengluru.csb>
@Pkylas007 Pkylas007 requested a review from mpershina April 13, 2026 10:38
* Type reference including classes, interfaces and structure types (struct). For example:

[subs="+quotes"]
[source, yaml]
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suppose the preview isn't updated since I can see the issue with the [subs="+quotes"] block rendering as plain text

Comment on lines 15 to 16

Labels are specified under the `labels` field as a list of strings in `key=val` format as follows:
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rendering issue, please, see the preview. Having an empty line between the description list item and its description might result in rendering problems

Suggested change
Labels are specified under the `labels` field as a list of strings in `key=val` format as follows:
Labels are specified under the `labels` field as a list of strings in `key=val` format as follows:

@Pkylas007 Pkylas007 merged commit 4f756b7 into main Apr 13, 2026
1 of 2 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.

2 participants