# Changelog

## Score

- CAI 53 → 55 (+2.2)
- Rubric changed (rubric-2026.08.17 → rubric-2026.08.18) — scores are not directly comparable.

## Lenses

- Code Health 87 → 86 (-0.6)
- Architecture 100 → 97 (-3.2)
- Maturity 62 → 71 (+9.4)
- Readiness 26 → 26 (+0.0)
- Security 97 → 97 (+0.0)

## Resolved (52)

- Change coupling: InheritanceMappingStep.java ↔ PrimaryKeyStep.java (orm/src/main/java/org/codefilarete/stalactite/engine/configurer/builder/InheritanceMappingStep.java)
- Change coupling: JoinRoot.java ↔ PassiveJoinNode.java (orm/src/main/java/org/codefilarete/stalactite/engine/runtime/load/JoinRoot.java)
- Change coupling: PrimaryKeyStep.java ↔ TablePerClassPolymorphismBuilder.java (orm/src/main/java/org/codefilarete/stalactite/engine/configurer/builder/PrimaryKeyStep.java)
- Dependency hygiene not measured — no supported dependency manifest was read
- Duplicated block (10 lines × 2) (orm/src/main/java/org/codefilarete/stalactite/engine/configurer/elementcollection/ElementRecordMapping.java)
- Duplicated block (10 lines × 2) (orm/src/main/java/org/codefilarete/stalactite/engine/runtime/onetomany/OneToManyWithIndexedAssociationTableEngine.java)
- Duplicated block (10–11 lines × 2) (orm/src/main/java/org/codefilarete/stalactite/engine/configurer/resolver/manytomany/AggregateManyToManyAppender.java)
- Duplicated block (10–12 lines × 2) (orm/src/main/java/org/codefilarete/stalactite/engine/configurer/resolver/manytomany/AggregateManyToManyAppender.java)
- Duplicated block (10–14 lines × 2) (orm/src/main/java/org/codefilarete/stalactite/engine/runtime/load/JoinTablePolymorphicRelationJoinNode.java)
- Duplicated block (11 lines × 2) (orm/src/main/java/org/codefilarete/stalactite/engine/runtime/onetomany/OneToManyWithIndexedMappedAssociationEngine.java)
- Duplicated block (11–12 lines × 2) (core/src/main/java/org/codefilarete/stalactite/mapping/ColumnedCollectionMapping.java)
- Duplicated block (11–13 lines × 2) (orm/src/main/java/org/codefilarete/stalactite/engine/configurer/resolver/manytoone/AggregateManyToOneAppender.java)
- Duplicated block (12 lines × 2) (orm/src/main/java/org/codefilarete/stalactite/engine/configurer/resolver/manytomany/AggregateManyToManyAppender.java)
- Duplicated block (12 lines × 2) (orm/src/main/java/org/codefilarete/stalactite/engine/configurer/resolver/map/AggregateMapAppender.java)
- Duplicated block (12 lines × 2) (orm/src/main/java/org/codefilarete/stalactite/engine/runtime/manytoone/ManyToOneEngine.java)
- Duplicated block (12–13 lines × 2) (orm/src/main/java/org/codefilarete/stalactite/engine/configurer/dslresolver/ManyToManyMetadataResolver.java)
- Duplicated block (13 lines × 2) (orm/src/main/java/org/codefilarete/stalactite/engine/configurer/resolver/manytomany/ManyToManyResolver.java)
- Duplicated block (13 lines × 2) (orm/src/main/java/org/codefilarete/stalactite/engine/runtime/onetoone/OneToOneOwnedByTargetEngine.java)
- Duplicated block (13–14 lines × 3) (orm/src/main/java/org/codefilarete/stalactite/engine/runtime/onetomany/OneToManyWithAssociationTableEngine.java)
- Duplicated block (14–15 lines × 2) (orm/src/main/java/org/codefilarete/stalactite/engine/configurer/manytomany/ManyToManyRelationConfigurer.java)
- …and 32 more

## New (92)

- AggregateResolver.collectTables (cognitive 19) (orm/src/main/java/org/codefilarete/stalactite/engine/configurer/resolver/AggregateResolver.java)
- Change coupling: AbstractDerivedQuery.java ↔ PartTreeStalactiteProjection.java (spring-integration/spring-data/src/main/java/org/codefilarete/stalactite/spring/repository/query/derivation/AbstractDerivedQuery.java)
- Change coupling: AbstractRepositoryQuery.java ↔ DomainEntityNativeQueryExecutor.java (spring-integration/spring-data/src/main/java/org/codefilarete/stalactite/spring/repository/query/execution/AbstractRepositoryQuery.java)
- Change coupling: AbstractRepositoryQuery.java ↔ TupleNativeQueryExecutor.java (spring-integration/spring-data/src/main/java/org/codefilarete/stalactite/spring/repository/query/execution/AbstractRepositoryQuery.java)
- Change coupling: BeanRepositoryQuery.java ↔ DomainEntityNativeQueryExecutor.java (spring-integration/spring-data/src/main/java/org/codefilarete/stalactite/spring/repository/query/bean/BeanRepositoryQuery.java)
- Change coupling: CompositeKeyMappingConfiguration.java ↔ FluentEmbeddableMappingConfigurationSupport.java (orm/src/main/java/org/codefilarete/stalactite/dsl/key/CompositeKeyMappingConfiguration.java)
- Change coupling: DatabaseCrudOperations.java ↔ Update.java (core/src/main/java/org/codefilarete/stalactite/engine/crud/DatabaseCrudOperations.java)
- Change coupling: DomainEntityNativeQueryExecutor.java ↔ PartTreeStalactiteProjection.java (spring-integration/spring-data/src/main/java/org/codefilarete/stalactite/spring/repository/query/nativ/DomainEntityNativeQueryExecutor.java)
- Change coupling: FluentEntityMappingBuilder.java ↔ MapRelation.java (orm/src/main/java/org/codefilarete/stalactite/dsl/entity/FluentEntityMappingBuilder.java)
- Change coupling: PartTreeStalactiteDelete.java ↔ PartTreeStalactiteProjection.java (spring-integration/spring-data/src/main/java/org/codefilarete/stalactite/spring/repository/query/domain/PartTreeStalactiteDelete.java)
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- Duplicated block (10 lines × 2) (orm/src/main/java/org/codefilarete/stalactite/engine/configurer/resolver/onetomany/AggregateOneToManyAppender.java)
- Duplicated block (10 lines × 2) (orm/src/main/java/org/codefilarete/stalactite/engine/runtime/load/JoinTablePolymorphicRelationJoinNode.java)
- Duplicated block (10 lines × 2) (orm/src/main/java/org/codefilarete/stalactite/engine/runtime/manytoone/ManyToOneEngine.java)
- Duplicated block (10 lines × 2) (orm/src/main/java/org/codefilarete/stalactite/engine/runtime/onetomany/IndexedAssociationTableManyRelationDescriptor.java)
- Duplicated block (10 lines × 2) (orm/src/main/java/org/codefilarete/stalactite/engine/runtime/onetomany/IndexedMappedManyRelationDescriptor.java)
- Duplicated block (10 lines × 2) (orm/src/main/java/org/codefilarete/stalactite/engine/runtime/onetomany/OneToManyWithAssociationTableEngine.java)
- Duplicated block (10 lines × 2) (orm/src/main/java/org/codefilarete/stalactite/engine/runtime/onetomany/OneToManyWithAssociationTableEngine.java)
- Duplicated block (10 lines × 2) (orm/src/main/java/org/codefilarete/stalactite/engine/runtime/onetoone/OneToOneOwnedBySourceEngine.java)
- Duplicated block (10 lines × 2) (orm/src/main/java/org/codefilarete/stalactite/engine/runtime/onetoone/OneToOneOwnedByTargetEngine.java)
- …and 72 more

## Changes since last survey

- 4 commits — 4 feature/other, 0 fixes

## By area

- orm/src — 4 commits

## Notable commits

- change: Fixing fetch-separately for Map relation when source has a composite identifier
- change: Implementing fetchSeparately() for collection of elements.
- change: Implementing fetchSeparately() with sorted collection of elements.
- change: Implementing the fetch-separately feature on the Appenders
