Skip to content

Conversation

@david-waltermire
Copy link
Contributor

@david-waltermire david-waltermire commented Jan 6, 2026

Summary

BREAKING CHANGE: All Java packages have been renamed. Downstream projects must update their imports:

  • gov.nist.secauto.metaschema.*dev.metaschema.*
  • gov.nist.secauto.oscal.*dev.metaschema.oscal.*

Test plan

  • mvn clean test passes (49 tests, 0 failures)
  • All package declarations and imports updated
  • SPI service file renamed and content updated
  • Generated bindings use new package structure

Summary by CodeRabbit

  • Chores
    • Bumped project version to 7.0.0-SNAPSHOT and updated metaschema framework and several library versions.
    • Migrated public package namespace from gov.nist.secauto.* to dev.metaschema.* across code and tests.
    • Simplified XML-related dependencies and updated service provider registrations to the new package names.
    • Added Git worktrees pattern to .gitignore.

✏️ Tip: You can customize this high-level summary in your review settings.

Update all imports from gov.nist.secauto.metaschema.* to dev.metaschema.*
to align with metaschema-java PR #618.

Changes:
- Update metaschema-java dependency to 3.0.0-SNAPSHOT
- Update all Java imports to use dev.metaschema namespace
- Rename SPI service file for IFunctionLibrary

BREAKING CHANGE: Requires metaschema-java 3.0.0-SNAPSHOT or later
…ema.oscal

Rename all Java packages to align with the dev.metaschema namespace:
- gov.nist.secauto.oscal.lib -> dev.metaschema.oscal.lib
- gov.nist.secauto.oscal.java -> dev.metaschema.oscal.lib (consolidated)

BREAKING CHANGE: All Java packages have been renamed. Downstream
projects must update their imports from gov.nist.secauto.oscal.*
to dev.metaschema.oscal.*
@coderabbitai
Copy link

coderabbitai bot commented Jan 6, 2026

📝 Walkthrough

Walkthrough

Performed a large-scale package namespace migration from gov.nist.secauto.* to dev.metaschema.*, updated service registration and metaschema bindings, removed xmlresolver/xmlbeans entries from the POM, and bumped project/metaschema dependency versions. Minor internal null-handling/initialization tweaks in a few resolver classes.

Changes

Cohort / File(s) Summary
Build & repo
\pom.xml`, `.gitignore``
Version bump to 7.0.0-SNAPSHOT; metaschema-framework → 3.0.0-SNAPSHOT; removed xmlresolver/xmlbeans entries; updated some dependency versions; added .worktrees/ to .gitignore.
Core/version files
\src/main/java-templates/dev/metaschema/oscal/lib/LibOscalVersion.java`, `src/main/java-templates/dev/metaschema/oscal/lib/OscalVersion.java``
Package/imports changed from gov.nist.secauto.*dev.metaschema.*.
Library core classes
\src/main/java/dev/metaschema/oscal/lib/*.java``
Namespace migration for binding/context/constants/utils (OscalBindingContext, OscalModelConstants, OscalUtils, etc.).
Function/metapath library
\src/main/java/dev/metaschema/oscal/lib/metapath/function/library/*``
Package/import renames; added new SPI registration (see service files); minor internal change in ResolveReference null handling.
Model & metadata
\src/main/java/dev/metaschema/oscal/lib/model/`, `src/main/java/dev/metaschema/oscal/lib/model/metadata/``
Broad package/import renames for model, metadata, abstract classes, and utilities.
Control/catalog/profile models
\src/main/java/dev/metaschema/oscal/lib/model/control/`, `src/main/java/dev/metaschema/oscal/lib/model/control/catalog/`, `src/main/java/dev/metaschema/oscal/lib/model/control/profile/**``
Package/import migrations across control, catalog, profile types; no signature changes.
Profile resolver (all modules)
\src/main/java/dev/metaschema/oscal/lib/profile/resolver/`, `src/main/java/dev/metaschema/oscal/lib/profile/resolver/{alter,merge,policy,selection,support}/``
Comprehensive namespace changes; small behavioral tweaks in a few visitors/resolvers (removed some defensive initializations, adjusted boolean null-checks).
Metaschema bindings
\src/main/metaschema-bindings/oscal-metaschema-bindings.xml``
Updated <use-package-name> and many <extend-base-class> entries from gov.nist.secauto.oscal.lib.modeldev.metaschema.oscal.lib.model; some base-class lines commented/adjusted.
Service provider files
\src/main/resources/META-INF/services/dev.metaschema.core.metapath.function.IFunctionLibrary`, `src/main/resources/META-INF/services/gov.nist.secauto.metaschema.core.metapath.function.IFunctionLibrary``
Added provider for dev.metaschema.core.metapath.function.IFunctionLibrary (OscalFunctionLibrary); removed old gov.nist.secauto.* service entry.
Tests & resources
\src/test/java/dev/metaschema/oscal/lib/**`, `src/test/resources/log4j2-test.xml``
Test packages and imports updated to dev.metaschema.*; logger names in test config adjusted.

Sequence Diagram(s)

(omitted)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~30 minutes

Possibly related issues

Possibly related PRs

Suggested reviewers

  • aj-stein

Poem

🐰 From gov.nist to dev.metaschema I hop,
Imports rearranged with one tidy chop;
Bindings and services all set in a row,
Versions bumped, tests follow where I go—
I nibble code and humbly thump my top.

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 28.57% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically summarizes the main change: renaming all packages from gov.nist.secauto to dev.metaschema namespace, which is the primary objective of this pull request.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f1d56cf and bf30195.

📒 Files selected for processing (5)
  • src/main/java/dev/metaschema/oscal/lib/metapath/function/library/ResolveReference.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolver.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/alter/AddVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/IControlFilter.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/Import.java
🚧 Files skipped from review as they are similar to previous changes (3)
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolver.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/Import.java
  • src/main/java/dev/metaschema/oscal/lib/metapath/function/library/ResolveReference.java
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 618
File: core/src/main/java-templates/dev/metaschema/core/MetaschemaJavaVersion.java:2-2
Timestamp: 2026-01-05T16:08:37.155Z
Learning: In metaschema-framework/metaschema-java, the canonical Java package naming convention is dev.metaschema.* (renamed from gov.nist.secauto.metaschema.* as of PR #618).
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 618
File: core/src/main/java/dev/metaschema/core/datatype/package-info.java:52-52
Timestamp: 2026-01-05T18:03:33.537Z
Learning: In metaschema-framework/metaschema-java, CLAUDE.md is the canonical coding-guidelines document and now specifies dev.metaschema.* as the Java package convention (updated in PR #618).
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 0
File: :0-0
Timestamp: 2026-01-05T16:33:59.206Z
Learning: In metaschema-framework/metaschema-java, the core/metaschema submodule is owned by this project's maintainers; updates to it are coordinated within this repository, so no follow-up issues should be opened in external repositories for submodule changes.
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 567
File: metaschema-testing/src/main/java/gov/nist/csrc/ns/metaschema/test_suite/_1_0/Metaschema.java:41-47
Timestamp: 2025-12-24T21:21:40.208Z
Learning: In metaschema-framework/metaschema-java, generated binding classes in package gov.nist.csrc.ns.metaschema.test_suite._1_0 (and similar generated binding packages) are pre-generated by metaschema-maven-plugin and checked into source control. Javadoc coverage issues in these generated classes should be tracked as code generator improvements rather than file-level issues, and improvements are deferred to generator enhancements.
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 567
File: metaschema-testing/src/main/java/gov/nist/secauto/metaschema/model/testing/testsuite/GenerationCase.java:74-80
Timestamp: 2025-12-24T21:22:07.082Z
Learning: Files in the package gov.nist.secauto.metaschema.model.testing.testsuite in metaschema-testing are generated binding classes created from Metaschema definitions. Documentation and style improvements for these files should be made at the code generator level (metaschema-maven-plugin) rather than by manually editing the generated code.
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 567
File: metaschema-testing/src/main/java/gov/nist/secauto/metaschema/model/testing/testsuite/Metaschema.java:41-47
Timestamp: 2025-12-24T21:21:56.361Z
Learning: In metaschema-testing, generated binding classes under gov.nist.secauto.metaschema.model.testing.testsuite are produced by metaschema-maven-plugin from YAML metaschema definitions. Javadoc issues in these generated classes should not be flagged for manual fixes; improvements are tracked and handled through code generator enhancements rather than manual edits to the generated source.
Learnt from: CR
Repo: metaschema-framework/metaschema PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-13T21:16:12.281Z
Learning: Use semantic versioning. Version must be tracked in `package.json` and `schema/metaschema/metaschema-module-metaschema.xml`
📚 Learning: 2026-01-05T18:03:23.064Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 618
File: core/src/main/java/dev/metaschema/core/metapath/format/IPathSegment.java:0-0
Timestamp: 2026-01-05T18:03:23.064Z
Learning: In metaschema-framework/metaschema-java, avoid duplicating SpotBugs nullability annotations on overrides when the superinterface (e.g., dev.metaschema.core.model.IMetapathQueryable#getNodeItem()) already declares the null contract; rely on the inherited annotation instead.

Applied to files:

  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/alter/AddVisitor.java
📚 Learning: 2025-12-14T14:55:22.140Z
Learnt from: david-waltermire
Repo: metaschema-framework/liboscal-java PR: 223
File: src/main/java/gov/nist/secauto/oscal/lib/profile/resolver/ProfileResolver.java:648-657
Timestamp: 2025-12-14T14:55:22.140Z
Learning: In ProfileResolver.java, when converting remove.getByNs() to a String for RemoveVisitor.remove(), calling IProperty.normalizeNamespace() is not necessary. The direct conversion using remove.getByNs().toASCIIString() is sufficient and correct.

Applied to files:

  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/alter/AddVisitor.java
🧬 Code graph analysis (1)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/alter/AddVisitor.java (1)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionEvaluationException.java (1)
  • ProfileResolutionEvaluationException (8-31)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Website
  • GitHub Check: Code
🔇 Additional comments (3)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/alter/AddVisitor.java (1)

6-20: LGTM! Namespace migration is consistent.

The package declaration and all imports have been correctly updated from gov.nist.secauto.* to dev.metaschema.*, consistent with the project-wide namespace migration.

Based on learnings, dev.metaschema.* is the canonical Java package naming convention for this project.

src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/IControlFilter.java (2)

6-12: LGTM! Namespace migration completed correctly.

The package declaration and imports have been updated from gov.nist.secauto.* to dev.metaschema.*, consistent with the PR objectives and the established canonical package naming convention.

Based on learnings, dev.metaschema.* is the canonical Java package naming convention for this framework.


127-148: Null safety improvements are sound.

The logic change from null checks to isEmpty() is correct. The code pattern—direct calls to .isEmpty() without null guards—combined with the commit message about removing "redundant null checks" per SpotBugs confirms that getIncludeControls() and getExcludeControls() return @nonnull lists (empty rather than null).

Variable renaming (selectionsincludeSelections, exclusionsexcludeSelections) improves clarity.


Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@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.

Actionable comments posted: 0

🧹 Nitpick comments (1)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/IReferenceVisitor.java (1)

47-119: Consider removing or documenting the commented-out code.

A substantial block of commented-out method declarations exists (resolveParameter, resolvePart, resolveRole, resolveParty, resolveLocation, resolveResource). If these methods are planned for future implementation, consider adding a TODO comment or tracking issue. Otherwise, consider removing the commented code to improve maintainability.

📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f444c82 and da2c77d.

📒 Files selected for processing (105)
  • .gitignore
  • pom.xml
  • src/main/java-templates/dev/metaschema/oscal/lib/LibOscalVersion.java
  • src/main/java-templates/dev/metaschema/oscal/lib/OscalVersion.java
  • src/main/java/dev/metaschema/oscal/lib/OscalBindingContext.java
  • src/main/java/dev/metaschema/oscal/lib/OscalModelConstants.java
  • src/main/java/dev/metaschema/oscal/lib/OscalUtils.java
  • src/main/java/dev/metaschema/oscal/lib/metapath/function/library/HasOscalNamespace.java
  • src/main/java/dev/metaschema/oscal/lib/metapath/function/library/OscalFunctionLibrary.java
  • src/main/java/dev/metaschema/oscal/lib/metapath/function/library/ResolveProfile.java
  • src/main/java/dev/metaschema/oscal/lib/metapath/function/library/ResolveReference.java
  • src/main/java/dev/metaschema/oscal/lib/model/AbstractOscalInstance.java
  • src/main/java/dev/metaschema/oscal/lib/model/IOscalInstance.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/AbstractParameter.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/AbstractPart.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/IParameter.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/IPart.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractCatalog.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractCatalogGroup.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractCatalogVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractControl.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/catalog/ICatalog.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/catalog/ICatalogGroup.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/catalog/ICatalogVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/catalog/IControl.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/catalog/IControlContainer.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/catalog/IGroupContainer.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/profile/AbstractProfileSelectControlById.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/profile/IProfileSelectControlById.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractBackMatter.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractLink.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractMetadata.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractProperty.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/IBackMatter.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/ILink.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/IMetadata.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/IProperty.java
  • src/main/java/dev/metaschema/oscal/lib/model/util/AllowedValueCollectingNodeItemVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/ModifyPhaseUtils.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionEvaluationException.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionException.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolver.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/alter/AddVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/alter/RemoveVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/alter/package-info.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/merge/FlatteningStructuringVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/merge/package-info.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/AbstractCustomReferencePolicy.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/AbstractIndexMissPolicyHandler.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/AbstractMultiItemTypeReferencePolicy.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/AnchorReferencePolicy.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/ICustomReferencePolicy.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/ICustomReferencePolicyHandler.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/IIdentifierParser.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/IReferencePolicy.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/IReferenceVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/InsertReferencePolicy.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/LinkReferencePolicy.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/PatternIdentifierParser.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/PropertyReferencePolicy.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/ControlSelectionState.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/ControlSelectionVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/DefaultControlSelectionFilter.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/DefaultResult.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/FilterNonSelectedVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/IControlFilter.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/IControlSelectionFilter.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/IControlSelectionState.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/IResult.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/Import.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/ImportCycleException.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/package-info.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/AbstractCatalogEntityVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/AbstractCatalogVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/AbstractEntityItem.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/AbstractIndexingVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/BasicIndexer.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/ControlIndexingVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/ICatalogVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/IEntityItem.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/IIdentifierMapper.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/IIndexer.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/ReassignmentIndexer.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/package-info.java
  • src/main/metaschema-bindings/oscal-metaschema-bindings.xml
  • src/main/resources/META-INF/services/dev.metaschema.core.metapath.function.IFunctionLibrary
  • src/main/resources/META-INF/services/gov.nist.secauto.metaschema.core.metapath.function.IFunctionLibrary
  • src/test/java/dev/metaschema/oscal/lib/ExamplesTest.java
  • src/test/java/dev/metaschema/oscal/lib/MetaschemaVisitorTest.java
  • src/test/java/dev/metaschema/oscal/lib/OscalBindingContextTest.java
  • src/test/java/dev/metaschema/oscal/lib/ReadWriteTest.java
  • src/test/java/dev/metaschema/oscal/lib/model/util/AbstractNodeItemVisitorTest.java
  • src/test/java/dev/metaschema/oscal/lib/model/util/AllowedValueCollectingNodeItemVisitorTest.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/ModifyPhaseUtilsTest.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionTests.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/TestUtil.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitorTest.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/ControlSelectionVisitorTest.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/DefaultControlSelectionFilterTest.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/FilterNonSelectedVisitorTest.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/ImportTest.java
  • src/test/java/dev/metaschema/oscal/lib/validation/ComponentDefinitionImportTest.java
  • src/test/java/dev/metaschema/oscal/lib/validation/OscalValidationTest.java
  • src/test/resources/log4j2-test.xml
💤 Files with no reviewable changes (1)
  • src/main/resources/META-INF/services/gov.nist.secauto.metaschema.core.metapath.function.IFunctionLibrary
🧰 Additional context used
🧠 Learnings (20)
📓 Common learnings
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 618
File: core/src/main/java-templates/dev/metaschema/core/MetaschemaJavaVersion.java:2-2
Timestamp: 2026-01-05T16:08:26.705Z
Learning: In metaschema-framework/metaschema-java, the canonical Java package naming convention is dev.metaschema.* (renamed from gov.nist.secauto.metaschema.* as of PR #618).
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 618
File: core/src/main/java/dev/metaschema/core/datatype/package-info.java:52-52
Timestamp: 2026-01-05T18:03:23.923Z
Learning: In metaschema-framework/metaschema-java, CLAUDE.md is the canonical coding-guidelines document and now specifies dev.metaschema.* as the Java package convention (updated in PR #618).
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 0
File: :0-0
Timestamp: 2026-01-05T16:33:59.181Z
Learning: In metaschema-framework/metaschema-java, the core/metaschema submodule is owned by this project's maintainers; updates to it are coordinated within this repository, so no follow-up issues should be opened in external repositories for submodule changes.
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 567
File: metaschema-testing/src/main/java/gov/nist/secauto/metaschema/model/testing/testsuite/GenerationCase.java:74-80
Timestamp: 2025-12-24T21:22:07.082Z
Learning: Files in the package gov.nist.secauto.metaschema.model.testing.testsuite in metaschema-testing are generated binding classes created from Metaschema definitions. Documentation and style improvements for these files should be made at the code generator level (metaschema-maven-plugin) rather than by manually editing the generated code.
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 567
File: metaschema-testing/src/main/java/gov/nist/csrc/ns/metaschema/test_suite/_1_0/Metaschema.java:41-47
Timestamp: 2025-12-24T21:21:40.208Z
Learning: In metaschema-framework/metaschema-java, generated binding classes in package gov.nist.csrc.ns.metaschema.test_suite._1_0 (and similar generated binding packages) are pre-generated by metaschema-maven-plugin and checked into source control. Javadoc coverage issues in these generated classes should be tracked as code generator improvements rather than file-level issues, and improvements are deferred to generator enhancements.
📚 Learning: 2026-01-05T16:08:26.705Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 618
File: core/src/main/java-templates/dev/metaschema/core/MetaschemaJavaVersion.java:2-2
Timestamp: 2026-01-05T16:08:26.705Z
Learning: In metaschema-framework/metaschema-java, the canonical Java package naming convention is dev.metaschema.* (renamed from gov.nist.secauto.metaschema.* as of PR #618).

Applied to files:

  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/alter/package-info.java
  • src/main/java/dev/metaschema/oscal/lib/model/AbstractOscalInstance.java
  • src/main/java-templates/dev/metaschema/oscal/lib/LibOscalVersion.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/PatternIdentifierParser.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolver.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/ModifyPhaseUtils.java
  • src/main/java/dev/metaschema/oscal/lib/OscalModelConstants.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/DefaultControlSelectionFilter.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/IBackMatter.java
  • src/main/java/dev/metaschema/oscal/lib/metapath/function/library/HasOscalNamespace.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/ImportTest.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractBackMatter.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/alter/RemoveVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/AbstractPart.java
  • src/test/java/dev/metaschema/oscal/lib/MetaschemaVisitorTest.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/AbstractIndexMissPolicyHandler.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/ICustomReferencePolicy.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/IProperty.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/IPart.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/AbstractParameter.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/AbstractEntityItem.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/package-info.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/AbstractCustomReferencePolicy.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/ICatalogVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractMetadata.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitorTest.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/catalog/ICatalog.java
  • src/main/java/dev/metaschema/oscal/lib/OscalUtils.java
  • src/test/java/dev/metaschema/oscal/lib/model/util/AllowedValueCollectingNodeItemVisitorTest.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractProperty.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/AbstractCatalogEntityVisitor.java
  • src/test/java/dev/metaschema/oscal/lib/OscalBindingContextTest.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/IIdentifierParser.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/catalog/ICatalogGroup.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/catalog/ICatalogVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/alter/AddVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/ControlSelectionVisitor.java
  • src/test/java/dev/metaschema/oscal/lib/validation/ComponentDefinitionImportTest.java
  • src/main/java/dev/metaschema/oscal/lib/model/IOscalInstance.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/ModifyPhaseUtilsTest.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/AnchorReferencePolicy.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionTests.java
  • src/test/java/dev/metaschema/oscal/lib/ExamplesTest.java
  • src/test/resources/log4j2-test.xml
  • src/main/java-templates/dev/metaschema/oscal/lib/OscalVersion.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionEvaluationException.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/FilterNonSelectedVisitorTest.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/package-info.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/merge/package-info.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/TestUtil.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/profile/AbstractProfileSelectControlById.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionException.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractCatalogGroup.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/IControlSelectionState.java
  • src/test/java/dev/metaschema/oscal/lib/ReadWriteTest.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/LinkReferencePolicy.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/ControlSelectionState.java
  • src/main/java/dev/metaschema/oscal/lib/model/util/AllowedValueCollectingNodeItemVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/metapath/function/library/ResolveReference.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/IIdentifierMapper.java
  • src/main/java/dev/metaschema/oscal/lib/metapath/function/library/OscalFunctionLibrary.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/ILink.java
  • src/test/java/dev/metaschema/oscal/lib/validation/OscalValidationTest.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/IControlFilter.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/IReferenceVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/IMetadata.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractCatalog.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/AbstractCatalogVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractCatalogVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/InsertReferencePolicy.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/ICustomReferencePolicyHandler.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/Import.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractControl.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/DefaultResult.java
  • pom.xml
  • src/main/java/dev/metaschema/oscal/lib/OscalBindingContext.java
  • src/main/java/dev/metaschema/oscal/lib/metapath/function/library/ResolveProfile.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/DefaultControlSelectionFilterTest.java
  • src/main/metaschema-bindings/oscal-metaschema-bindings.xml
📚 Learning: 2025-12-24T21:22:07.082Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 567
File: metaschema-testing/src/main/java/gov/nist/secauto/metaschema/model/testing/testsuite/GenerationCase.java:74-80
Timestamp: 2025-12-24T21:22:07.082Z
Learning: Files in the package gov.nist.secauto.metaschema.model.testing.testsuite in metaschema-testing are generated binding classes created from Metaschema definitions. Documentation and style improvements for these files should be made at the code generator level (metaschema-maven-plugin) rather than by manually editing the generated code.

Applied to files:

  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/alter/package-info.java
  • src/main/java/dev/metaschema/oscal/lib/model/AbstractOscalInstance.java
  • src/main/java-templates/dev/metaschema/oscal/lib/LibOscalVersion.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolver.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/ModifyPhaseUtils.java
  • src/main/java/dev/metaschema/oscal/lib/OscalModelConstants.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/IBackMatter.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/ImportTest.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractBackMatter.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/AbstractPart.java
  • src/test/java/dev/metaschema/oscal/lib/MetaschemaVisitorTest.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/IProperty.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/ControlSelectionVisitorTest.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/IPart.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/AbstractParameter.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/package-info.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/AbstractCustomReferencePolicy.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractMetadata.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitorTest.java
  • src/main/java/dev/metaschema/oscal/lib/OscalUtils.java
  • src/test/java/dev/metaschema/oscal/lib/model/util/AllowedValueCollectingNodeItemVisitorTest.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractProperty.java
  • src/test/java/dev/metaschema/oscal/lib/OscalBindingContextTest.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitor.java
  • src/test/java/dev/metaschema/oscal/lib/validation/ComponentDefinitionImportTest.java
  • src/main/java/dev/metaschema/oscal/lib/model/IOscalInstance.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/ModifyPhaseUtilsTest.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionTests.java
  • src/test/java/dev/metaschema/oscal/lib/ExamplesTest.java
  • src/test/resources/log4j2-test.xml
  • src/main/java-templates/dev/metaschema/oscal/lib/OscalVersion.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/FilterNonSelectedVisitorTest.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/package-info.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/merge/package-info.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/TestUtil.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/profile/AbstractProfileSelectControlById.java
  • src/test/java/dev/metaschema/oscal/lib/ReadWriteTest.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/LinkReferencePolicy.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractLink.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/ILink.java
  • src/test/java/dev/metaschema/oscal/lib/validation/OscalValidationTest.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/IMetadata.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractCatalog.java
  • src/test/java/dev/metaschema/oscal/lib/model/util/AbstractNodeItemVisitorTest.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/Import.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractControl.java
  • pom.xml
  • src/main/java/dev/metaschema/oscal/lib/OscalBindingContext.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/DefaultControlSelectionFilterTest.java
  • src/main/metaschema-bindings/oscal-metaschema-bindings.xml
📚 Learning: 2025-12-24T21:21:40.208Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 567
File: metaschema-testing/src/main/java/gov/nist/csrc/ns/metaschema/test_suite/_1_0/Metaschema.java:41-47
Timestamp: 2025-12-24T21:21:40.208Z
Learning: In metaschema-framework/metaschema-java, generated binding classes in package gov.nist.csrc.ns.metaschema.test_suite._1_0 (and similar generated binding packages) are pre-generated by metaschema-maven-plugin and checked into source control. Javadoc coverage issues in these generated classes should be tracked as code generator improvements rather than file-level issues, and improvements are deferred to generator enhancements.

Applied to files:

  • src/main/java-templates/dev/metaschema/oscal/lib/LibOscalVersion.java
  • src/main/java/dev/metaschema/oscal/lib/OscalModelConstants.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/IBackMatter.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/ImportTest.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractBackMatter.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/AbstractPart.java
  • src/test/java/dev/metaschema/oscal/lib/MetaschemaVisitorTest.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/IProperty.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/ControlSelectionVisitorTest.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/IPart.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/AbstractCustomReferencePolicy.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractMetadata.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitorTest.java
  • src/main/java/dev/metaschema/oscal/lib/OscalUtils.java
  • src/test/java/dev/metaschema/oscal/lib/model/util/AllowedValueCollectingNodeItemVisitorTest.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractProperty.java
  • src/test/java/dev/metaschema/oscal/lib/OscalBindingContextTest.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitor.java
  • src/test/java/dev/metaschema/oscal/lib/validation/ComponentDefinitionImportTest.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/ModifyPhaseUtilsTest.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionTests.java
  • src/test/java/dev/metaschema/oscal/lib/ExamplesTest.java
  • src/test/resources/log4j2-test.xml
  • src/main/java-templates/dev/metaschema/oscal/lib/OscalVersion.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/FilterNonSelectedVisitorTest.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/merge/package-info.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/TestUtil.java
  • src/test/java/dev/metaschema/oscal/lib/ReadWriteTest.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/LinkReferencePolicy.java
  • src/test/java/dev/metaschema/oscal/lib/validation/OscalValidationTest.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/IMetadata.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractCatalog.java
  • src/test/java/dev/metaschema/oscal/lib/model/util/AbstractNodeItemVisitorTest.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractControl.java
  • pom.xml
  • src/main/java/dev/metaschema/oscal/lib/OscalBindingContext.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/DefaultControlSelectionFilterTest.java
  • src/main/metaschema-bindings/oscal-metaschema-bindings.xml
📚 Learning: 2026-01-05T18:03:23.923Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 618
File: core/src/main/java/dev/metaschema/core/datatype/package-info.java:52-52
Timestamp: 2026-01-05T18:03:23.923Z
Learning: In metaschema-framework/metaschema-java, CLAUDE.md is the canonical coding-guidelines document and now specifies dev.metaschema.* as the Java package convention (updated in PR #618).

Applied to files:

  • src/main/java-templates/dev/metaschema/oscal/lib/LibOscalVersion.java
  • src/main/java/dev/metaschema/oscal/lib/OscalModelConstants.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractBackMatter.java
  • src/test/java/dev/metaschema/oscal/lib/MetaschemaVisitorTest.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/IProperty.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/package-info.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/AbstractCustomReferencePolicy.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractMetadata.java
  • src/main/java/dev/metaschema/oscal/lib/OscalUtils.java
  • src/test/java/dev/metaschema/oscal/lib/ExamplesTest.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/merge/package-info.java
  • src/test/java/dev/metaschema/oscal/lib/ReadWriteTest.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/LinkReferencePolicy.java
  • src/test/java/dev/metaschema/oscal/lib/validation/OscalValidationTest.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/IMetadata.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractCatalog.java
  • src/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractControl.java
  • pom.xml
  • src/main/java/dev/metaschema/oscal/lib/OscalBindingContext.java
  • src/main/metaschema-bindings/oscal-metaschema-bindings.xml
📚 Learning: 2025-12-17T13:27:43.679Z
Learnt from: CR
Repo: metaschema-framework/metaschema-java PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-17T13:27:43.679Z
Learning: Applies to **/metapath/**/*.java : Metapath is an implementation of XPath 3.1. Use the XPath 3.1 specification (https://www.w3.org/TR/xpath-31/) and XPath Functions 3.1 (https://www.w3.org/TR/xpath-functions-31/) as authoritative reference when implementing new functions, fixing bugs, or understanding error handling. Raise clarification before making changes if implementation differs from spec.

Applied to files:

  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolver.java
  • src/main/java/dev/metaschema/oscal/lib/metapath/function/library/HasOscalNamespace.java
  • src/test/java/dev/metaschema/oscal/lib/MetaschemaVisitorTest.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/IIndexer.java
  • src/main/resources/META-INF/services/dev.metaschema.core.metapath.function.IFunctionLibrary
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitorTest.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitor.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionTests.java
  • src/test/java/dev/metaschema/oscal/lib/ExamplesTest.java
  • src/main/java/dev/metaschema/oscal/lib/metapath/function/library/ResolveReference.java
  • src/main/java/dev/metaschema/oscal/lib/metapath/function/library/OscalFunctionLibrary.java
  • src/main/java/dev/metaschema/oscal/lib/metapath/function/library/ResolveProfile.java
📚 Learning: 2026-01-05T16:33:59.181Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 0
File: :0-0
Timestamp: 2026-01-05T16:33:59.181Z
Learning: In metaschema-framework/metaschema-java, the core/metaschema submodule is owned by this project's maintainers; updates to it are coordinated within this repository, so no follow-up issues should be opened in external repositories for submodule changes.

Applied to files:

  • src/main/java/dev/metaschema/oscal/lib/model/metadata/IBackMatter.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractBackMatter.java
  • src/test/java/dev/metaschema/oscal/lib/MetaschemaVisitorTest.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/IProperty.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractProperty.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/merge/package-info.java
  • pom.xml
  • src/main/java/dev/metaschema/oscal/lib/OscalBindingContext.java
  • src/main/metaschema-bindings/oscal-metaschema-bindings.xml
📚 Learning: 2024-11-28T04:53:23.842Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 266
File: core/src/main/java/gov/nist/secauto/metaschema/core/metapath/cst/DynamicFunctionCall.java:73-77
Timestamp: 2024-11-28T04:53:23.842Z
Learning: In the `DynamicFunctionCall` class in `core/src/main/java/gov/nist/secauto/metaschema/core/metapath/cst/DynamicFunctionCall.java`, it's acceptable to rely on `toAtomicItem()` to throw an exception if the specifier is not an `IAtomicItem`, rather than checking the instance type before calling `toAtomicItem()`.

Applied to files:

  • src/main/java/dev/metaschema/oscal/lib/metapath/function/library/HasOscalNamespace.java
  • src/main/java/dev/metaschema/oscal/lib/metapath/function/library/ResolveReference.java
  • src/main/java/dev/metaschema/oscal/lib/metapath/function/library/ResolveProfile.java
📚 Learning: 2024-11-14T18:19:40.200Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 245
File: core/src/main/java/gov/nist/secauto/metaschema/core/metapath/item/atomic/IBooleanItem.java:86-104
Timestamp: 2024-11-14T18:19:40.200Z
Learning: In the file `core/src/main/java/gov/nist/secauto/metaschema/core/metapath/item/atomic/IBooleanItem.java`, the 3-step approach in the `cast` method is consistent with the XPath 3.1 specification.

Applied to files:

  • src/main/java/dev/metaschema/oscal/lib/metapath/function/library/HasOscalNamespace.java
  • src/test/java/dev/metaschema/oscal/lib/MetaschemaVisitorTest.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/IIndexer.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/ReassignmentIndexer.java
📚 Learning: 2025-12-24T21:21:56.361Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 567
File: metaschema-testing/src/main/java/gov/nist/secauto/metaschema/model/testing/testsuite/Metaschema.java:41-47
Timestamp: 2025-12-24T21:21:56.361Z
Learning: In metaschema-testing, generated binding classes under gov.nist.secauto.metaschema.model.testing.testsuite are produced by metaschema-maven-plugin from YAML metaschema definitions. Javadoc issues in these generated classes should not be flagged for manual fixes; improvements are tracked and handled through code generator enhancements rather than manual edits to the generated source.

Applied to files:

  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/ImportTest.java
  • src/test/java/dev/metaschema/oscal/lib/MetaschemaVisitorTest.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractMetadata.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitorTest.java
  • src/test/java/dev/metaschema/oscal/lib/model/util/AllowedValueCollectingNodeItemVisitorTest.java
  • src/test/java/dev/metaschema/oscal/lib/OscalBindingContextTest.java
  • src/test/java/dev/metaschema/oscal/lib/validation/ComponentDefinitionImportTest.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/ModifyPhaseUtilsTest.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionTests.java
  • src/test/java/dev/metaschema/oscal/lib/ExamplesTest.java
  • src/test/resources/log4j2-test.xml
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/FilterNonSelectedVisitorTest.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/merge/package-info.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/TestUtil.java
  • src/test/java/dev/metaschema/oscal/lib/ReadWriteTest.java
  • src/test/java/dev/metaschema/oscal/lib/validation/OscalValidationTest.java
  • src/main/java/dev/metaschema/oscal/lib/model/metadata/IMetadata.java
  • src/test/java/dev/metaschema/oscal/lib/model/util/AbstractNodeItemVisitorTest.java
  • pom.xml
  • src/main/java/dev/metaschema/oscal/lib/OscalBindingContext.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/DefaultControlSelectionFilterTest.java
  • src/main/metaschema-bindings/oscal-metaschema-bindings.xml
📚 Learning: 2025-12-14T14:55:22.140Z
Learnt from: david-waltermire
Repo: metaschema-framework/liboscal-java PR: 223
File: src/main/java/gov/nist/secauto/oscal/lib/profile/resolver/ProfileResolver.java:648-657
Timestamp: 2025-12-14T14:55:22.140Z
Learning: In ProfileResolver.java, when converting remove.getByNs() to a String for RemoveVisitor.remove(), calling IProperty.normalizeNamespace() is not necessary. The direct conversion using remove.getByNs().toASCIIString() is sufficient and correct.

Applied to files:

  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/alter/RemoveVisitor.java
📚 Learning: 2025-12-30T04:37:04.944Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 0
File: :0-0
Timestamp: 2025-12-30T04:37:04.944Z
Learning: In metaschema-framework/metaschema-java, assert statements on loop variables (e.g., `assert item != null;`) are intentionally kept to satisfy Eclipse's null-safety analysis when the list elements have a `NonNull` contract, ensuring static analysis tools recognize the non-null guarantee for subsequent method calls.

Applied to files:

  • src/test/java/dev/metaschema/oscal/lib/MetaschemaVisitorTest.java
  • src/test/java/dev/metaschema/oscal/lib/model/util/AllowedValueCollectingNodeItemVisitorTest.java
  • src/test/java/dev/metaschema/oscal/lib/OscalBindingContextTest.java
  • src/test/java/dev/metaschema/oscal/lib/ExamplesTest.java
  • src/main/java/dev/metaschema/oscal/lib/model/util/AllowedValueCollectingNodeItemVisitor.java
  • src/test/java/dev/metaschema/oscal/lib/model/util/AbstractNodeItemVisitorTest.java
📚 Learning: 2026-01-05T18:03:10.966Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 618
File: core/src/main/java/dev/metaschema/core/metapath/format/IPathSegment.java:0-0
Timestamp: 2026-01-05T18:03:10.966Z
Learning: In metaschema-framework/metaschema-java, avoid duplicating SpotBugs nullability annotations on overrides when the superinterface (e.g., dev.metaschema.core.model.IMetapathQueryable#getNodeItem()) already declares the null contract; rely on the inherited annotation instead.

Applied to files:

  • src/test/java/dev/metaschema/oscal/lib/MetaschemaVisitorTest.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/IIndexer.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/AbstractEntityItem.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/ICatalogVisitor.java
  • src/test/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitorTest.java
  • src/test/java/dev/metaschema/oscal/lib/model/util/AllowedValueCollectingNodeItemVisitorTest.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/AbstractCatalogEntityVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/ReassignmentIndexer.java
  • src/test/java/dev/metaschema/oscal/lib/ExamplesTest.java
  • src/main/java/dev/metaschema/oscal/lib/model/util/AllowedValueCollectingNodeItemVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/IEntityItem.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/AbstractCatalogVisitor.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/InsertReferencePolicy.java
  • src/test/java/dev/metaschema/oscal/lib/model/util/AbstractNodeItemVisitorTest.java
  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/AbstractIndexingVisitor.java
📚 Learning: 2025-12-30T19:08:21.896Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 605
File: src/site/markdown/index.md.vm:3-3
Timestamp: 2025-12-30T19:08:21.896Z
Learning: In the metaschema-framework/metaschema-java repository, https://framework.metaschema.dev/ is the project's preferred and canonical documentation URL for the Metaschema framework. While https://pages.nist.gov/metaschema/ is an alternative, the project uses framework.metaschema.dev as the official reference in documentation and should not be changed to pages.nist.gov URLs.

Applied to files:

  • src/main/java/dev/metaschema/oscal/lib/model/metadata/IProperty.java
  • pom.xml
  • src/main/metaschema-bindings/oscal-metaschema-bindings.xml
📚 Learning: 2024-11-14T17:09:05.819Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 245
File: core/src/main/java/gov/nist/secauto/metaschema/core/metapath/item/atomic/INonNegativeIntegerItem.java:116-124
Timestamp: 2024-11-14T17:09:05.819Z
Learning: In the interface `INonNegativeIntegerItem` (file `core/src/main/java/gov/nist/secauto/metaschema/core/metapath/item/atomic/INonNegativeIntegerItem.java`), the casting logic in the `cast` method is intentionally designed this way due to earlier discrepancies.

Applied to files:

  • src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/ReassignmentIndexer.java
📚 Learning: 2025-12-30T04:19:49.192Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 605
File: databind/src/main/java/gov/nist/secauto/metaschema/databind/codegen/typeinfo/DefaultMetaschemaClassFactory.java:480-484
Timestamp: 2025-12-30T04:19:49.192Z
Learning: In metaschema-framework/metaschema-java, when users configure custom superinterfaces via binding configuration, david-waltermire prefers both documentation (explaining how to add dependencies to the Maven plugin) and validation mechanisms (warnings when classes aren't on classpath) to prevent redundant IBoundObject interface additions during code generation.

Applied to files:

  • src/test/java/dev/metaschema/oscal/lib/ExamplesTest.java
  • src/test/java/dev/metaschema/oscal/lib/ReadWriteTest.java
  • src/test/java/dev/metaschema/oscal/lib/validation/OscalValidationTest.java
  • pom.xml
  • src/main/metaschema-bindings/oscal-metaschema-bindings.xml
📚 Learning: 2025-12-30T19:01:32.147Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 605
File: databind/src/main/java/gov/nist/secauto/metaschema/databind/codegen/typeinfo/DefaultMetaschemaClassFactory.java:508-512
Timestamp: 2025-12-30T19:01:32.147Z
Learning: DefaultMetaschemaClassFactory.extendsIBoundObject logs a warning when a configured superinterface cannot be loaded from the classpath during code generation, advising users to add the class as a Maven plugin dependency to avoid redundant IBoundObject additions.

Applied to files:

  • src/test/java/dev/metaschema/oscal/lib/ReadWriteTest.java
📚 Learning: 2024-11-14T17:07:03.586Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 245
File: core/src/main/java/gov/nist/secauto/metaschema/core/metapath/item/atomic/IIPv4AddressItem.java:66-73
Timestamp: 2024-11-14T17:07:03.586Z
Learning: In the Metaschema Java codebase, differences in casting patterns across atomic type implementations are intentional and required; any differences in approach are significant and necessary.

Applied to files:

  • src/test/java/dev/metaschema/oscal/lib/ReadWriteTest.java
  • src/main/metaschema-bindings/oscal-metaschema-bindings.xml
📚 Learning: 2025-12-13T15:29:03.112Z
Learnt from: david-waltermire
Repo: metaschema-framework/liboscal-java PR: 222
File: .github/workflows/build.yml:30-32
Timestamp: 2025-12-13T15:29:03.112Z
Learning: In the liboscal-java repository, nightly builds are managed independently using GitHub Actions schedule triggers (cron), not via repository_dispatch from metaschema-java. Each repo in the metaschema-framework manages its own nightly builds.

Applied to files:

  • pom.xml
📚 Learning: 2025-12-13T21:16:12.281Z
Learnt from: CR
Repo: metaschema-framework/metaschema PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-13T21:16:12.281Z
Learning: Use semantic versioning. Version must be tracked in `package.json` and `schema/metaschema/metaschema-module-metaschema.xml`

Applied to files:

  • pom.xml
🧬 Code graph analysis (30)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/PatternIdentifierParser.java (1)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionEvaluationException.java (1)
  • ProfileResolutionEvaluationException (8-31)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/DefaultControlSelectionFilter.java (1)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionEvaluationException.java (1)
  • ProfileResolutionEvaluationException (8-31)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/FilterNonSelectedVisitor.java (2)
src/main/java/dev/metaschema/oscal/lib/OscalModelConstants.java (1)
  • OscalModelConstants (12-52)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/AbstractCatalogEntityVisitor.java (1)
  • AbstractCatalogEntityVisitor (34-346)
src/main/java/dev/metaschema/oscal/lib/metapath/function/library/HasOscalNamespace.java (1)
src/main/java/dev/metaschema/oscal/lib/OscalModelConstants.java (1)
  • OscalModelConstants (12-52)
src/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/ImportTest.java (5)
src/main/java/dev/metaschema/oscal/lib/OscalBindingContext.java (1)
  • OscalBindingContext (32-212)
src/main/java/dev/metaschema/oscal/lib/OscalModelConstants.java (1)
  • OscalModelConstants (12-52)
src/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractControl.java (1)
  • AbstractControl (26-177)
src/main/java/dev/metaschema/oscal/lib/model/control/profile/AbstractProfileSelectControlById.java (1)
  • AbstractProfileSelectControlById (19-71)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionException.java (1)
  • ProfileResolutionException (10-40)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/alter/RemoveVisitor.java (1)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionEvaluationException.java (1)
  • ProfileResolutionEvaluationException (8-31)
src/test/java/dev/metaschema/oscal/lib/MetaschemaVisitorTest.java (2)
src/main/java/dev/metaschema/oscal/lib/OscalBindingContext.java (1)
  • OscalBindingContext (32-212)
src/main/java/dev/metaschema/oscal/lib/metapath/function/library/ResolveProfile.java (1)
  • ResolveProfile (33-173)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/IIndexer.java (1)
src/main/java/dev/metaschema/oscal/lib/OscalBindingContext.java (1)
  • OscalBindingContext (32-212)
src/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/ControlSelectionVisitorTest.java (2)
src/test/java/dev/metaschema/oscal/lib/profile/resolver/TestUtil.java (1)
  • TestUtil (29-168)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/BasicIndexer.java (1)
  • BasicIndexer (42-378)
src/test/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitorTest.java (5)
src/main/java/dev/metaschema/oscal/lib/OscalBindingContext.java (1)
  • OscalBindingContext (32-212)
src/test/java/dev/metaschema/oscal/lib/profile/resolver/TestUtil.java (1)
  • TestUtil (29-168)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/ControlSelectionState.java (1)
  • ControlSelectionState (26-121)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/ControlSelectionVisitor.java (1)
  • ControlSelectionVisitor (49-158)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/ReassignmentIndexer.java (1)
  • ReassignmentIndexer (13-48)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/BasicIndexer.java (1)
src/main/java/dev/metaschema/oscal/lib/OscalBindingContext.java (1)
  • OscalBindingContext (32-212)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/IReferencePolicy.java (1)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionEvaluationException.java (1)
  • ProfileResolutionEvaluationException (8-31)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/AbstractCatalogEntityVisitor.java (2)
src/main/java/dev/metaschema/oscal/lib/OscalBindingContext.java (1)
  • OscalBindingContext (32-212)
src/main/java/dev/metaschema/oscal/lib/OscalModelConstants.java (1)
  • OscalModelConstants (12-52)
src/test/java/dev/metaschema/oscal/lib/OscalBindingContextTest.java (1)
src/main/java/dev/metaschema/oscal/lib/OscalBindingContext.java (1)
  • OscalBindingContext (32-212)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/IIdentifierParser.java (1)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionEvaluationException.java (1)
  • ProfileResolutionEvaluationException (8-31)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitor.java (4)
src/main/java/dev/metaschema/oscal/lib/OscalBindingContext.java (1)
  • OscalBindingContext (32-212)
src/main/java/dev/metaschema/oscal/lib/OscalModelConstants.java (1)
  • OscalModelConstants (12-52)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolver.java (1)
  • ProfileResolver (84-758)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/AbstractCatalogEntityVisitor.java (1)
  • AbstractCatalogEntityVisitor (34-346)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/alter/AddVisitor.java (1)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionEvaluationException.java (1)
  • ProfileResolutionEvaluationException (8-31)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/ControlSelectionVisitor.java (1)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/AbstractIndexingVisitor.java (1)
  • AbstractIndexingVisitor (17-76)
src/test/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionTests.java (2)
src/main/java/dev/metaschema/oscal/lib/OscalBindingContext.java (1)
  • OscalBindingContext (32-212)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/ImportCycleException.java (1)
  • ImportCycleException (8-35)
src/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/FilterNonSelectedVisitorTest.java (3)
src/main/java/dev/metaschema/oscal/lib/OscalBindingContext.java (1)
  • OscalBindingContext (32-212)
src/test/java/dev/metaschema/oscal/lib/profile/resolver/TestUtil.java (1)
  • TestUtil (29-168)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/BasicIndexer.java (1)
  • BasicIndexer (42-378)
src/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractCatalogGroup.java (1)
src/main/java/dev/metaschema/oscal/lib/model/control/AbstractParameter.java (1)
  • AbstractParameter (30-198)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/merge/FlatteningStructuringVisitor.java (5)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolver.java (1)
  • ProfileResolver (84-758)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitor.java (1)
  • ReferenceCountingVisitor (54-647)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/DefaultResult.java (1)
  • DefaultResult (27-191)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/FilterNonSelectedVisitor.java (1)
  • FilterNonSelectedVisitor (39-281)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/AbstractCatalogEntityVisitor.java (1)
  • AbstractCatalogEntityVisitor (34-346)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/ControlSelectionState.java (1)
src/main/java/dev/metaschema/oscal/lib/OscalBindingContext.java (1)
  • OscalBindingContext (32-212)
src/main/java/dev/metaschema/oscal/lib/metapath/function/library/ResolveReference.java (2)
src/main/java/dev/metaschema/oscal/lib/OscalModelConstants.java (1)
  • OscalModelConstants (12-52)
src/main/java/dev/metaschema/oscal/lib/OscalUtils.java (1)
  • OscalUtils (20-93)
src/test/java/dev/metaschema/oscal/lib/validation/OscalValidationTest.java (1)
src/main/java/dev/metaschema/oscal/lib/OscalBindingContext.java (1)
  • OscalBindingContext (32-212)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/IReferenceVisitor.java (1)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionEvaluationException.java (1)
  • ProfileResolutionEvaluationException (8-31)
src/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractCatalog.java (2)
src/main/java/dev/metaschema/oscal/lib/model/AbstractOscalInstance.java (1)
  • AbstractOscalInstance (15-27)
src/main/java/dev/metaschema/oscal/lib/model/control/AbstractParameter.java (1)
  • AbstractParameter (30-198)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/Import.java (3)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionEvaluationException.java (1)
  • ProfileResolutionEvaluationException (8-31)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionException.java (1)
  • ProfileResolutionException (10-40)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/support/BasicIndexer.java (1)
  • BasicIndexer (42-378)
src/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractControl.java (1)
src/main/java/dev/metaschema/oscal/lib/model/control/AbstractParameter.java (1)
  • AbstractParameter (30-198)
src/main/java/dev/metaschema/oscal/lib/metapath/function/library/ResolveProfile.java (3)
src/main/java/dev/metaschema/oscal/lib/OscalModelConstants.java (1)
  • OscalModelConstants (12-52)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionException.java (1)
  • ProfileResolutionException (10-40)
src/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolver.java (1)
  • ProfileResolver (84-758)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Website
  • GitHub Check: Code

- Remove xmlresolver and xmlbeans dependencies (not used directly)
- Update log4j2 from 2.25.2 to 2.25.3 (dependency convergence)
- Update Saxon from 12.9 to 12.5 (align with metaschema-java)
- Remove redundant null check in ResolveReference (getHref is @nonnull)
- Use Boolean.TRUE.equals() in ProfileResolver to avoid double evaluation
- Remove redundant null checks in AddVisitor for lazy-initialized collections
- Change null checks to isEmpty checks in IControlFilter
- Simplify generateMetadata in Import (getMetadata is @nonnull)
@david-waltermire david-waltermire merged commit c96c1ab into metaschema-framework:develop Jan 6, 2026
3 checks passed
@david-waltermire david-waltermire deleted the feature/migrate-to-dev-metaschema-namespace branch January 6, 2026 20:09
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.

1 participant