-
Notifications
You must be signed in to change notification settings - Fork 4
refactor!: rename all packages to dev.metaschema namespace #232
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor!: rename all packages to dev.metaschema namespace #232
Conversation
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.*
📝 WalkthroughWalkthroughPerformed a large-scale package namespace migration from Changes
Sequence Diagram(s)(omitted) Estimated code review effort🎯 3 (Moderate) | ⏱️ ~30 minutes Possibly related issues
Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: Organization UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (5)
🚧 Files skipped from review as they are similar to previous changes (3)
🧰 Additional context used🧠 Learnings (3)📓 Common learnings📚 Learning: 2026-01-05T18:03:23.064ZApplied to files:
📚 Learning: 2025-12-14T14:55:22.140ZApplied to files:
🧬 Code graph analysis (1)src/main/java/dev/metaschema/oscal/lib/profile/resolver/alter/AddVisitor.java (1)
⏰ 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)
🔇 Additional comments (3)
Comment |
There was a problem hiding this 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
📒 Files selected for processing (105)
.gitignorepom.xmlsrc/main/java-templates/dev/metaschema/oscal/lib/LibOscalVersion.javasrc/main/java-templates/dev/metaschema/oscal/lib/OscalVersion.javasrc/main/java/dev/metaschema/oscal/lib/OscalBindingContext.javasrc/main/java/dev/metaschema/oscal/lib/OscalModelConstants.javasrc/main/java/dev/metaschema/oscal/lib/OscalUtils.javasrc/main/java/dev/metaschema/oscal/lib/metapath/function/library/HasOscalNamespace.javasrc/main/java/dev/metaschema/oscal/lib/metapath/function/library/OscalFunctionLibrary.javasrc/main/java/dev/metaschema/oscal/lib/metapath/function/library/ResolveProfile.javasrc/main/java/dev/metaschema/oscal/lib/metapath/function/library/ResolveReference.javasrc/main/java/dev/metaschema/oscal/lib/model/AbstractOscalInstance.javasrc/main/java/dev/metaschema/oscal/lib/model/IOscalInstance.javasrc/main/java/dev/metaschema/oscal/lib/model/control/AbstractParameter.javasrc/main/java/dev/metaschema/oscal/lib/model/control/AbstractPart.javasrc/main/java/dev/metaschema/oscal/lib/model/control/IParameter.javasrc/main/java/dev/metaschema/oscal/lib/model/control/IPart.javasrc/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractCatalog.javasrc/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractCatalogGroup.javasrc/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractCatalogVisitor.javasrc/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractControl.javasrc/main/java/dev/metaschema/oscal/lib/model/control/catalog/ICatalog.javasrc/main/java/dev/metaschema/oscal/lib/model/control/catalog/ICatalogGroup.javasrc/main/java/dev/metaschema/oscal/lib/model/control/catalog/ICatalogVisitor.javasrc/main/java/dev/metaschema/oscal/lib/model/control/catalog/IControl.javasrc/main/java/dev/metaschema/oscal/lib/model/control/catalog/IControlContainer.javasrc/main/java/dev/metaschema/oscal/lib/model/control/catalog/IGroupContainer.javasrc/main/java/dev/metaschema/oscal/lib/model/control/profile/AbstractProfileSelectControlById.javasrc/main/java/dev/metaschema/oscal/lib/model/control/profile/IProfileSelectControlById.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractBackMatter.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractLink.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractMetadata.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractProperty.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/IBackMatter.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/ILink.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/IMetadata.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/IProperty.javasrc/main/java/dev/metaschema/oscal/lib/model/util/AllowedValueCollectingNodeItemVisitor.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/ModifyPhaseUtils.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionEvaluationException.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionException.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolver.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/alter/AddVisitor.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/alter/RemoveVisitor.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/alter/package-info.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/merge/FlatteningStructuringVisitor.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/merge/package-info.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/AbstractCustomReferencePolicy.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/AbstractIndexMissPolicyHandler.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/AbstractMultiItemTypeReferencePolicy.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/AnchorReferencePolicy.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/ICustomReferencePolicy.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/ICustomReferencePolicyHandler.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/IIdentifierParser.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/IReferencePolicy.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/IReferenceVisitor.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/InsertReferencePolicy.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/LinkReferencePolicy.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/PatternIdentifierParser.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/PropertyReferencePolicy.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitor.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/ControlSelectionState.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/ControlSelectionVisitor.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/DefaultControlSelectionFilter.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/DefaultResult.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/FilterNonSelectedVisitor.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/IControlFilter.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/IControlSelectionFilter.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/IControlSelectionState.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/IResult.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/Import.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/ImportCycleException.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/package-info.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/AbstractCatalogEntityVisitor.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/AbstractCatalogVisitor.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/AbstractEntityItem.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/AbstractIndexingVisitor.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/BasicIndexer.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/ControlIndexingVisitor.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/ICatalogVisitor.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/IEntityItem.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/IIdentifierMapper.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/IIndexer.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/ReassignmentIndexer.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/package-info.javasrc/main/metaschema-bindings/oscal-metaschema-bindings.xmlsrc/main/resources/META-INF/services/dev.metaschema.core.metapath.function.IFunctionLibrarysrc/main/resources/META-INF/services/gov.nist.secauto.metaschema.core.metapath.function.IFunctionLibrarysrc/test/java/dev/metaschema/oscal/lib/ExamplesTest.javasrc/test/java/dev/metaschema/oscal/lib/MetaschemaVisitorTest.javasrc/test/java/dev/metaschema/oscal/lib/OscalBindingContextTest.javasrc/test/java/dev/metaschema/oscal/lib/ReadWriteTest.javasrc/test/java/dev/metaschema/oscal/lib/model/util/AbstractNodeItemVisitorTest.javasrc/test/java/dev/metaschema/oscal/lib/model/util/AllowedValueCollectingNodeItemVisitorTest.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/ModifyPhaseUtilsTest.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionTests.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/TestUtil.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitorTest.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/ControlSelectionVisitorTest.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/DefaultControlSelectionFilterTest.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/FilterNonSelectedVisitorTest.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/ImportTest.javasrc/test/java/dev/metaschema/oscal/lib/validation/ComponentDefinitionImportTest.javasrc/test/java/dev/metaschema/oscal/lib/validation/OscalValidationTest.javasrc/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.javasrc/main/java/dev/metaschema/oscal/lib/model/AbstractOscalInstance.javasrc/main/java-templates/dev/metaschema/oscal/lib/LibOscalVersion.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/PatternIdentifierParser.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolver.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/ModifyPhaseUtils.javasrc/main/java/dev/metaschema/oscal/lib/OscalModelConstants.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/DefaultControlSelectionFilter.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/IBackMatter.javasrc/main/java/dev/metaschema/oscal/lib/metapath/function/library/HasOscalNamespace.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/ImportTest.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractBackMatter.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/alter/RemoveVisitor.javasrc/main/java/dev/metaschema/oscal/lib/model/control/AbstractPart.javasrc/test/java/dev/metaschema/oscal/lib/MetaschemaVisitorTest.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/AbstractIndexMissPolicyHandler.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/ICustomReferencePolicy.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/IProperty.javasrc/main/java/dev/metaschema/oscal/lib/model/control/IPart.javasrc/main/java/dev/metaschema/oscal/lib/model/control/AbstractParameter.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/AbstractEntityItem.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/package-info.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/AbstractCustomReferencePolicy.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/ICatalogVisitor.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractMetadata.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitorTest.javasrc/main/java/dev/metaschema/oscal/lib/model/control/catalog/ICatalog.javasrc/main/java/dev/metaschema/oscal/lib/OscalUtils.javasrc/test/java/dev/metaschema/oscal/lib/model/util/AllowedValueCollectingNodeItemVisitorTest.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractProperty.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/AbstractCatalogEntityVisitor.javasrc/test/java/dev/metaschema/oscal/lib/OscalBindingContextTest.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/IIdentifierParser.javasrc/main/java/dev/metaschema/oscal/lib/model/control/catalog/ICatalogGroup.javasrc/main/java/dev/metaschema/oscal/lib/model/control/catalog/ICatalogVisitor.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitor.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/alter/AddVisitor.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/ControlSelectionVisitor.javasrc/test/java/dev/metaschema/oscal/lib/validation/ComponentDefinitionImportTest.javasrc/main/java/dev/metaschema/oscal/lib/model/IOscalInstance.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/ModifyPhaseUtilsTest.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/AnchorReferencePolicy.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionTests.javasrc/test/java/dev/metaschema/oscal/lib/ExamplesTest.javasrc/test/resources/log4j2-test.xmlsrc/main/java-templates/dev/metaschema/oscal/lib/OscalVersion.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionEvaluationException.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/FilterNonSelectedVisitorTest.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/package-info.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/merge/package-info.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/TestUtil.javasrc/main/java/dev/metaschema/oscal/lib/model/control/profile/AbstractProfileSelectControlById.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionException.javasrc/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractCatalogGroup.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/IControlSelectionState.javasrc/test/java/dev/metaschema/oscal/lib/ReadWriteTest.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/LinkReferencePolicy.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/ControlSelectionState.javasrc/main/java/dev/metaschema/oscal/lib/model/util/AllowedValueCollectingNodeItemVisitor.javasrc/main/java/dev/metaschema/oscal/lib/metapath/function/library/ResolveReference.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/IIdentifierMapper.javasrc/main/java/dev/metaschema/oscal/lib/metapath/function/library/OscalFunctionLibrary.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/ILink.javasrc/test/java/dev/metaschema/oscal/lib/validation/OscalValidationTest.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/IControlFilter.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/IReferenceVisitor.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/IMetadata.javasrc/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractCatalog.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/AbstractCatalogVisitor.javasrc/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractCatalogVisitor.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/InsertReferencePolicy.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/ICustomReferencePolicyHandler.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/Import.javasrc/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractControl.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/DefaultResult.javapom.xmlsrc/main/java/dev/metaschema/oscal/lib/OscalBindingContext.javasrc/main/java/dev/metaschema/oscal/lib/metapath/function/library/ResolveProfile.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/DefaultControlSelectionFilterTest.javasrc/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.javasrc/main/java/dev/metaschema/oscal/lib/model/AbstractOscalInstance.javasrc/main/java-templates/dev/metaschema/oscal/lib/LibOscalVersion.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolver.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/ModifyPhaseUtils.javasrc/main/java/dev/metaschema/oscal/lib/OscalModelConstants.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/IBackMatter.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/ImportTest.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractBackMatter.javasrc/main/java/dev/metaschema/oscal/lib/model/control/AbstractPart.javasrc/test/java/dev/metaschema/oscal/lib/MetaschemaVisitorTest.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/IProperty.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/ControlSelectionVisitorTest.javasrc/main/java/dev/metaschema/oscal/lib/model/control/IPart.javasrc/main/java/dev/metaschema/oscal/lib/model/control/AbstractParameter.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/package-info.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/AbstractCustomReferencePolicy.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractMetadata.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitorTest.javasrc/main/java/dev/metaschema/oscal/lib/OscalUtils.javasrc/test/java/dev/metaschema/oscal/lib/model/util/AllowedValueCollectingNodeItemVisitorTest.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractProperty.javasrc/test/java/dev/metaschema/oscal/lib/OscalBindingContextTest.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitor.javasrc/test/java/dev/metaschema/oscal/lib/validation/ComponentDefinitionImportTest.javasrc/main/java/dev/metaschema/oscal/lib/model/IOscalInstance.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/ModifyPhaseUtilsTest.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionTests.javasrc/test/java/dev/metaschema/oscal/lib/ExamplesTest.javasrc/test/resources/log4j2-test.xmlsrc/main/java-templates/dev/metaschema/oscal/lib/OscalVersion.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/FilterNonSelectedVisitorTest.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/package-info.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/merge/package-info.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/TestUtil.javasrc/main/java/dev/metaschema/oscal/lib/model/control/profile/AbstractProfileSelectControlById.javasrc/test/java/dev/metaschema/oscal/lib/ReadWriteTest.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/LinkReferencePolicy.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractLink.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/ILink.javasrc/test/java/dev/metaschema/oscal/lib/validation/OscalValidationTest.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/IMetadata.javasrc/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractCatalog.javasrc/test/java/dev/metaschema/oscal/lib/model/util/AbstractNodeItemVisitorTest.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/selection/Import.javasrc/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractControl.javapom.xmlsrc/main/java/dev/metaschema/oscal/lib/OscalBindingContext.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/DefaultControlSelectionFilterTest.javasrc/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.javasrc/main/java/dev/metaschema/oscal/lib/OscalModelConstants.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/IBackMatter.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/ImportTest.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractBackMatter.javasrc/main/java/dev/metaschema/oscal/lib/model/control/AbstractPart.javasrc/test/java/dev/metaschema/oscal/lib/MetaschemaVisitorTest.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/IProperty.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/ControlSelectionVisitorTest.javasrc/main/java/dev/metaschema/oscal/lib/model/control/IPart.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/AbstractCustomReferencePolicy.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractMetadata.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitorTest.javasrc/main/java/dev/metaschema/oscal/lib/OscalUtils.javasrc/test/java/dev/metaschema/oscal/lib/model/util/AllowedValueCollectingNodeItemVisitorTest.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractProperty.javasrc/test/java/dev/metaschema/oscal/lib/OscalBindingContextTest.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitor.javasrc/test/java/dev/metaschema/oscal/lib/validation/ComponentDefinitionImportTest.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/ModifyPhaseUtilsTest.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionTests.javasrc/test/java/dev/metaschema/oscal/lib/ExamplesTest.javasrc/test/resources/log4j2-test.xmlsrc/main/java-templates/dev/metaschema/oscal/lib/OscalVersion.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/FilterNonSelectedVisitorTest.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/merge/package-info.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/TestUtil.javasrc/test/java/dev/metaschema/oscal/lib/ReadWriteTest.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/LinkReferencePolicy.javasrc/test/java/dev/metaschema/oscal/lib/validation/OscalValidationTest.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/IMetadata.javasrc/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractCatalog.javasrc/test/java/dev/metaschema/oscal/lib/model/util/AbstractNodeItemVisitorTest.javasrc/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractControl.javapom.xmlsrc/main/java/dev/metaschema/oscal/lib/OscalBindingContext.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/DefaultControlSelectionFilterTest.javasrc/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.javasrc/main/java/dev/metaschema/oscal/lib/OscalModelConstants.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractBackMatter.javasrc/test/java/dev/metaschema/oscal/lib/MetaschemaVisitorTest.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/IProperty.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/package-info.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/AbstractCustomReferencePolicy.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractMetadata.javasrc/main/java/dev/metaschema/oscal/lib/OscalUtils.javasrc/test/java/dev/metaschema/oscal/lib/ExamplesTest.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/merge/package-info.javasrc/test/java/dev/metaschema/oscal/lib/ReadWriteTest.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/LinkReferencePolicy.javasrc/test/java/dev/metaschema/oscal/lib/validation/OscalValidationTest.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/IMetadata.javasrc/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractCatalog.javasrc/main/java/dev/metaschema/oscal/lib/model/control/catalog/AbstractControl.javapom.xmlsrc/main/java/dev/metaschema/oscal/lib/OscalBindingContext.javasrc/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.javasrc/main/java/dev/metaschema/oscal/lib/metapath/function/library/HasOscalNamespace.javasrc/test/java/dev/metaschema/oscal/lib/MetaschemaVisitorTest.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/IIndexer.javasrc/main/resources/META-INF/services/dev.metaschema.core.metapath.function.IFunctionLibrarysrc/test/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitorTest.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitor.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionTests.javasrc/test/java/dev/metaschema/oscal/lib/ExamplesTest.javasrc/main/java/dev/metaschema/oscal/lib/metapath/function/library/ResolveReference.javasrc/main/java/dev/metaschema/oscal/lib/metapath/function/library/OscalFunctionLibrary.javasrc/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.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractBackMatter.javasrc/test/java/dev/metaschema/oscal/lib/MetaschemaVisitorTest.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/IProperty.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractProperty.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/merge/package-info.javapom.xmlsrc/main/java/dev/metaschema/oscal/lib/OscalBindingContext.javasrc/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.javasrc/main/java/dev/metaschema/oscal/lib/metapath/function/library/ResolveReference.javasrc/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.javasrc/test/java/dev/metaschema/oscal/lib/MetaschemaVisitorTest.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/IIndexer.javasrc/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.javasrc/test/java/dev/metaschema/oscal/lib/MetaschemaVisitorTest.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/AbstractMetadata.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitorTest.javasrc/test/java/dev/metaschema/oscal/lib/model/util/AllowedValueCollectingNodeItemVisitorTest.javasrc/test/java/dev/metaschema/oscal/lib/OscalBindingContextTest.javasrc/test/java/dev/metaschema/oscal/lib/validation/ComponentDefinitionImportTest.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/ModifyPhaseUtilsTest.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/ProfileResolutionTests.javasrc/test/java/dev/metaschema/oscal/lib/ExamplesTest.javasrc/test/resources/log4j2-test.xmlsrc/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/FilterNonSelectedVisitorTest.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/merge/package-info.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/TestUtil.javasrc/test/java/dev/metaschema/oscal/lib/ReadWriteTest.javasrc/test/java/dev/metaschema/oscal/lib/validation/OscalValidationTest.javasrc/main/java/dev/metaschema/oscal/lib/model/metadata/IMetadata.javasrc/test/java/dev/metaschema/oscal/lib/model/util/AbstractNodeItemVisitorTest.javapom.xmlsrc/main/java/dev/metaschema/oscal/lib/OscalBindingContext.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/selection/DefaultControlSelectionFilterTest.javasrc/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.javasrc/test/java/dev/metaschema/oscal/lib/model/util/AllowedValueCollectingNodeItemVisitorTest.javasrc/test/java/dev/metaschema/oscal/lib/OscalBindingContextTest.javasrc/test/java/dev/metaschema/oscal/lib/ExamplesTest.javasrc/main/java/dev/metaschema/oscal/lib/model/util/AllowedValueCollectingNodeItemVisitor.javasrc/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.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/IIndexer.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/AbstractEntityItem.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/ICatalogVisitor.javasrc/test/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitorTest.javasrc/test/java/dev/metaschema/oscal/lib/model/util/AllowedValueCollectingNodeItemVisitorTest.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/AbstractCatalogEntityVisitor.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/ReferenceCountingVisitor.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/ReassignmentIndexer.javasrc/test/java/dev/metaschema/oscal/lib/ExamplesTest.javasrc/main/java/dev/metaschema/oscal/lib/model/util/AllowedValueCollectingNodeItemVisitor.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/IEntityItem.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/support/AbstractCatalogVisitor.javasrc/main/java/dev/metaschema/oscal/lib/profile/resolver/policy/InsertReferencePolicy.javasrc/test/java/dev/metaschema/oscal/lib/model/util/AbstractNodeItemVisitorTest.javasrc/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.javapom.xmlsrc/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.javasrc/test/java/dev/metaschema/oscal/lib/ReadWriteTest.javasrc/test/java/dev/metaschema/oscal/lib/validation/OscalValidationTest.javapom.xmlsrc/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.javasrc/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)
c96c1ab
into
metaschema-framework:develop
Summary
gov.nist.secauto.metaschema.*todev.metaschema.*gov.nist.secauto.oscal.*todev.metaschema.oscal.*oscal.javatest package intooscal.libBREAKING 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 testpasses (49 tests, 0 failures)Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.