conexus 6.3.0__tar.gz → 6.3.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (557) hide show
  1. {conexus-6.3.0 → conexus-6.3.2}/PKG-INFO +1 -1
  2. {conexus-6.3.0 → conexus-6.3.2}/docs/rdr/README.md +2 -0
  3. {conexus-6.3.0 → conexus-6.3.2}/mcpb/pyproject.toml +2 -2
  4. {conexus-6.3.0 → conexus-6.3.2}/pyproject.toml +1 -1
  5. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/db/AspectRepository.java +48 -45
  6. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/db/CatalogRepository.java +910 -647
  7. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/db/ChashRepository.java +52 -43
  8. conexus-6.3.2/service/src/main/java/dev/nexus/service/db/DeadlockRetry.java +107 -0
  9. conexus-6.3.2/service/src/main/java/dev/nexus/service/db/PgSession.java +62 -0
  10. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/db/PoolerModeCheck.java +12 -8
  11. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/db/TaxonomyRepository.java +169 -83
  12. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/http/CatalogHandler.java +113 -0
  13. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/http/HealthHandler.java +7 -4
  14. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/http/TaxonomyHandler.java +44 -0
  15. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/http/VectorHandler.java +32 -4
  16. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/http/VersionHandler.java +24 -15
  17. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/http/WhoamiHandler.java +8 -3
  18. conexus-6.3.2/service/src/main/java/dev/nexus/service/jooq/binding/Vector.java +66 -0
  19. conexus-6.3.2/service/src/main/java/dev/nexus/service/jooq/binding/VectorBinding.java +112 -0
  20. conexus-6.3.2/service/src/main/java/dev/nexus/service/vectors/DimTables.java +86 -0
  21. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/vectors/PgVectorRepository.java +800 -241
  22. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/vectors/TaxonomyCentroidRepository.java +55 -68
  23. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/AspectRepositoryTest.java +70 -1
  24. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/CatalogRepositoryTest.java +319 -0
  25. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/ChashRepositoryTest.java +20 -0
  26. conexus-6.3.2/service/src/test/java/dev/nexus/service/PgVectorEmbedSkipGcRaceTest.java +344 -0
  27. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/PgVectorRepositoryContractTest.java +20 -0
  28. conexus-6.3.2/service/src/test/java/dev/nexus/service/PgVectorUpsertDeadlockTest.java +202 -0
  29. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/TaxonomyRepositoryTest.java +64 -1
  30. conexus-6.3.2/service/src/test/java/dev/nexus/service/db/CatalogTsOrNullTest.java +70 -0
  31. conexus-6.3.2/service/src/test/java/dev/nexus/service/db/DeadlockRetryTest.java +83 -0
  32. conexus-6.3.2/service/src/test/java/dev/nexus/service/db/RawSqlGateTest.java +287 -0
  33. conexus-6.3.2/service/src/test/java/dev/nexus/service/jooq/binding/VectorRoundTripTest.java +62 -0
  34. conexus-6.3.2/service/src/test/java/dev/nexus/service/vectors/PgVectorEmbedSkipIntegrationTest.java +673 -0
  35. conexus-6.3.2/service/src/test/java/dev/nexus/service/vectors/PgVectorEmbedSkipTest.java +131 -0
  36. conexus-6.3.2/service/src/test/java/dev/nexus/service/vectors/ReferenceOnlySqlShapeTest.java +55 -0
  37. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/aspect_worker.py +9 -0
  38. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/catalog.py +16 -0
  39. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/catalog_docs.py +40 -1
  40. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/catalog_protocol.py +6 -0
  41. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/http_catalog_client.py +234 -28
  42. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/link_generator.py +7 -6
  43. conexus-6.3.2/src/nexus/chunk_batcher.py +364 -0
  44. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/code_indexer.py +29 -1
  45. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/collection.py +82 -13
  46. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/index.py +108 -13
  47. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/service_cmd.py +92 -0
  48. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/t3.py +25 -10
  49. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/daemon/binary_install.py +1 -1
  50. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/daemon/catalog_write_shim.py +12 -0
  51. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/daemon/t2_client.py +2 -2
  52. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/http_vector_client.py +204 -45
  53. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/http_chash_index.py +9 -1
  54. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/http_taxonomy_store.py +22 -3
  55. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t3.py +16 -1
  56. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/doc_indexer.py +28 -3
  57. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/hook_registry.py +74 -2
  58. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/index_context.py +9 -0
  59. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/indexer.py +522 -106
  60. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/indexer_utils.py +192 -0
  61. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/mcp/catalog.py +7 -5
  62. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/mcp/core.py +30 -6
  63. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/mcp_infra.py +99 -12
  64. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/prose_indexer.py +27 -1
  65. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/stage_timers.py +14 -6
  66. conexus-6.3.0/service/src/test/java/dev/nexus/service/vectors/ReferenceOnlySqlShapeTest.java +0 -45
  67. {conexus-6.3.0 → conexus-6.3.2}/.beads/README.md +0 -0
  68. {conexus-6.3.0 → conexus-6.3.2}/.gitignore +0 -0
  69. {conexus-6.3.0 → conexus-6.3.2}/LICENSE +0 -0
  70. {conexus-6.3.0 → conexus-6.3.2}/README.md +0 -0
  71. {conexus-6.3.0 → conexus-6.3.2}/conexus/README.md +0 -0
  72. {conexus-6.3.0 → conexus-6.3.2}/conexus/agents/_shared/README.md +0 -0
  73. {conexus-6.3.0 → conexus-6.3.2}/conexus/daemon/com.nexus.service.plist +0 -0
  74. {conexus-6.3.0 → conexus-6.3.2}/conexus/daemon/com.nexus.t2.plist +0 -0
  75. {conexus-6.3.0 → conexus-6.3.2}/conexus/daemon/com.nexus.t3.plist +0 -0
  76. {conexus-6.3.0 → conexus-6.3.2}/conexus/daemon/nexus-service.service +0 -0
  77. {conexus-6.3.0 → conexus-6.3.2}/conexus/daemon/nexus-t2.service +0 -0
  78. {conexus-6.3.0 → conexus-6.3.2}/conexus/daemon/nexus-t3.service +0 -0
  79. {conexus-6.3.0 → conexus-6.3.2}/conexus/hooks/scripts/routing/README.md +0 -0
  80. {conexus-6.3.0 → conexus-6.3.2}/conexus/plans/builtin/abstract-themes.yml +0 -0
  81. {conexus-6.3.0 → conexus-6.3.2}/conexus/plans/builtin/analyze-default.yml +0 -0
  82. {conexus-6.3.0 → conexus-6.3.2}/conexus/plans/builtin/citation-traversal.yml +0 -0
  83. {conexus-6.3.0 → conexus-6.3.2}/conexus/plans/builtin/debug-default.yml +0 -0
  84. {conexus-6.3.0 → conexus-6.3.2}/conexus/plans/builtin/document-default.yml +0 -0
  85. {conexus-6.3.0 → conexus-6.3.2}/conexus/plans/builtin/find-by-author.yml +0 -0
  86. {conexus-6.3.0 → conexus-6.3.2}/conexus/plans/builtin/hybrid-factual-lookup.yml +0 -0
  87. {conexus-6.3.0 → conexus-6.3.2}/conexus/plans/builtin/plan-author-default.yml +0 -0
  88. {conexus-6.3.0 → conexus-6.3.2}/conexus/plans/builtin/plan-inspect-default.yml +0 -0
  89. {conexus-6.3.0 → conexus-6.3.2}/conexus/plans/builtin/plan-inspect-dimensions.yml +0 -0
  90. {conexus-6.3.0 → conexus-6.3.2}/conexus/plans/builtin/plan-promote-propose.yml +0 -0
  91. {conexus-6.3.0 → conexus-6.3.2}/conexus/plans/builtin/research-default.yml +0 -0
  92. {conexus-6.3.0 → conexus-6.3.2}/conexus/plans/builtin/review-default.yml +0 -0
  93. {conexus-6.3.0 → conexus-6.3.2}/conexus/plans/builtin/traverse-then-generate.yml +0 -0
  94. {conexus-6.3.0 → conexus-6.3.2}/conexus/plans/builtin/type-scoped-search.yml +0 -0
  95. {conexus-6.3.0 → conexus-6.3.2}/conexus/plans/dimensions.yml +0 -0
  96. {conexus-6.3.0 → conexus-6.3.2}/conexus/plans/purposes.yml +0 -0
  97. {conexus-6.3.0 → conexus-6.3.2}/data/calibration/rdr-109/README.md +0 -0
  98. {conexus-6.3.0 → conexus-6.3.2}/docs/README.md +0 -0
  99. {conexus-6.3.0 → conexus-6.3.2}/docs/migration/README.md +0 -0
  100. {conexus-6.3.0 → conexus-6.3.2}/dt/scripts/Index Current Group in nx.applescript +0 -0
  101. {conexus-6.3.0 → conexus-6.3.2}/dt/scripts/Index Selection in nx (Knowledge).applescript +0 -0
  102. {conexus-6.3.0 → conexus-6.3.2}/dt/scripts/Index Selection in nx.applescript +0 -0
  103. {conexus-6.3.0 → conexus-6.3.2}/mcpb/src/server.py +0 -0
  104. {conexus-6.3.0 → conexus-6.3.2}/scripts/cron/README.md +0 -0
  105. {conexus-6.3.0 → conexus-6.3.2}/scripts/launchd/README.md +0 -0
  106. {conexus-6.3.0 → conexus-6.3.2}/scripts/rdr152-sandbox/README.md +0 -0
  107. {conexus-6.3.0 → conexus-6.3.2}/scripts/spikes/s04-build/src/main/java/dev/nexus/spike/s04/Main.java +0 -0
  108. {conexus-6.3.0 → conexus-6.3.2}/scripts/spikes/s04-build/src/main/resources/META-INF/native-image/reachability-metadata.json +0 -0
  109. {conexus-6.3.0 → conexus-6.3.2}/scripts/spikes/s04-build/src/main/resources/db/changelog/db.changelog-master.xml +0 -0
  110. {conexus-6.3.0 → conexus-6.3.2}/scripts/spikes/s04-build/src/main/resources/logback.xml +0 -0
  111. {conexus-6.3.0 → conexus-6.3.2}/service/README.md +0 -0
  112. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/Main.java +0 -0
  113. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/NexusService.java +0 -0
  114. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/db/CollectionRegistry.java +0 -0
  115. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/db/MemoryRepository.java +0 -0
  116. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/db/MigrationJobRepository.java +0 -0
  117. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/db/PlanRepository.java +0 -0
  118. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/db/SchemaMigrator.java +0 -0
  119. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/db/ScratchRepository.java +0 -0
  120. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/db/SessionPrincipal.java +0 -0
  121. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/db/TelemetryRepository.java +0 -0
  122. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/db/TenantConstants.java +0 -0
  123. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/db/TenantScope.java +0 -0
  124. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/db/TokenCache.java +0 -0
  125. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/db/TokenHashing.java +0 -0
  126. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/db/TokenStore.java +0 -0
  127. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/http/AspectHandler.java +0 -0
  128. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/http/AuthFilter.java +0 -0
  129. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/http/ChashHandler.java +0 -0
  130. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/http/HttpUtil.java +0 -0
  131. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/http/MemoryHandler.java +0 -0
  132. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/http/MigrationHandler.java +0 -0
  133. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/http/PlanHandler.java +0 -0
  134. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/http/RequestContext.java +0 -0
  135. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/http/ScratchHandler.java +0 -0
  136. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/http/SessionTokenHandler.java +0 -0
  137. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/http/TelemetryHandler.java +0 -0
  138. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/http/TokenAdminHandler.java +0 -0
  139. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/nativeimage/JooqRecordReflectionFeature.java +0 -0
  140. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/resolver/ChromaSchemeHandler.java +0 -0
  141. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/resolver/ChunkTextFetcher.java +0 -0
  142. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/resolver/HttpsSchemeHandler.java +0 -0
  143. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/resolver/ResolveResult.java +0 -0
  144. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/resolver/UnknownSchemeException.java +0 -0
  145. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/resolver/UriSchemeHandler.java +0 -0
  146. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/resolver/UriSchemeResolverRegistry.java +0 -0
  147. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/vectors/Bge768Embedder.java +0 -0
  148. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/vectors/CceEmbedder.java +0 -0
  149. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/vectors/ChromaQuotaValidator.java +0 -0
  150. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/vectors/ChromaRestClient.java +0 -0
  151. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/vectors/EgressProxy.java +0 -0
  152. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/vectors/EmbedResult.java +0 -0
  153. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/vectors/Embedder.java +0 -0
  154. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/vectors/EmbedderRouter.java +0 -0
  155. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/vectors/EmbeddingModelUnavailableException.java +0 -0
  156. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/vectors/LocalChromaServer.java +0 -0
  157. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/vectors/OnnxEmbedder.java +0 -0
  158. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/vectors/VectorRepository.java +0 -0
  159. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/java/dev/nexus/service/vectors/VoyageEmbedder.java +0 -0
  160. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/META-INF/native-image/native-image.properties +0 -0
  161. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/META-INF/native-image/reflect-config.json +0 -0
  162. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/META-INF/native-image/resource-config.json +0 -0
  163. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/META-INF/native-image/traced/reachability-metadata.json +0 -0
  164. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/META-INF/nexus/release.properties +0 -0
  165. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/aspects-001-baseline.xml +0 -0
  166. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/aspects-002-next-retry-at.xml +0 -0
  167. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/catalog-001-baseline.xml +0 -0
  168. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/catalog-002-hygiene.xml +0 -0
  169. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/catalog-003-soft-delete.xml +0 -0
  170. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/catalog-004-manifest-functions.xml +0 -0
  171. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/catalog-005-collection-vector-stats.xml +0 -0
  172. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/catalog-006-combined-query-functions.xml +0 -0
  173. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/catalog-007-graph-hop-functions.xml +0 -0
  174. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/catalog-008-combined-query-extensions.xml +0 -0
  175. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/catalog-009-read-shape-views.xml +0 -0
  176. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/catalog-011-collection-health-stale-age.xml +0 -0
  177. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/chash-001-baseline.xml +0 -0
  178. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/db.changelog-master.xml +0 -0
  179. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/fk-001-catalog-cross-store.xml +0 -0
  180. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/fk-002-collection-registry.xml +0 -0
  181. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/fk-002-validate.xml +0 -0
  182. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/fk-003-collection-registry-extra.xml +0 -0
  183. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/fk-003-validate.xml +0 -0
  184. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/grants-nexus-svc.xml +0 -0
  185. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/memory-001-baseline.xml +0 -0
  186. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/migration-001-baseline.xml +0 -0
  187. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/perf-001-rename-collection-indexes.xml +0 -0
  188. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/plans-001-baseline.xml +0 -0
  189. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/role-001-nexus-svc.xml +0 -0
  190. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/service-tokens-001-baseline.xml +0 -0
  191. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/service-tokens-002-single-root-index.xml +0 -0
  192. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/t1-001-baseline.xml +0 -0
  193. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/taxonomy-001-baseline.xml +0 -0
  194. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/taxonomy-002-centroids.xml +0 -0
  195. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/taxonomy-003-doc-count-trigger.xml +0 -0
  196. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/taxonomy-004-dedup-root-topics.xml +0 -0
  197. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/telemetry-001-baseline.xml +0 -0
  198. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/updated-at-001-triggers.xml +0 -0
  199. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/vectors-001-baseline.xml +0 -0
  200. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/db/changelog/vectors-002-trgm-index.xml +0 -0
  201. {conexus-6.3.0 → conexus-6.3.2}/service/src/main/resources/logback.xml +0 -0
  202. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/AspectOperatorQueryTest.java +0 -0
  203. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/AuthFilterTest.java +0 -0
  204. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/Bge768ParityTest.java +0 -0
  205. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/Bge768ServiceEmbedIntegrationTest.java +0 -0
  206. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/BridgeAddressFieldsTest.java +0 -0
  207. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/CatalogDeleteCollectionCascadeTest.java +0 -0
  208. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/CatalogDocumentCascadeTest.java +0 -0
  209. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/CatalogHandlerDeleteTest.java +0 -0
  210. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/CatalogHandlerRenameTest.java +0 -0
  211. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/CatalogRenameCollectionTest.java +0 -0
  212. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/CatalogSchemaLiquibaseTest.java +0 -0
  213. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/ChashVectorConcurrencyTest.java +0 -0
  214. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/ChunksRlsBehavioralTest.java +0 -0
  215. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/CollectionRegistryFkExtraTest.java +0 -0
  216. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/CollectionRegistryFkTest.java +0 -0
  217. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/CollectionVectorStatsTest.java +0 -0
  218. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/CombinedQueryParityIntegrationTest.java +0 -0
  219. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/CombinedQueryParityTest.java +0 -0
  220. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/DualRunHarnessIntegrationTest.java +0 -0
  221. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/EmbedParityTest.java +0 -0
  222. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/EmbeddingModeFailLoudTest.java +0 -0
  223. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/ForeignKeyConstraintTest.java +0 -0
  224. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/GraphHopParityIntegrationTest.java +0 -0
  225. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/GraphHopParityTest.java +0 -0
  226. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/HybridParityIntegrationTest.java +0 -0
  227. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/HybridSelectiveGateTest.java +0 -0
  228. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/ManifestFunctionsTest.java +0 -0
  229. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/MemoryHandlerTest.java +0 -0
  230. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/MemoryRepositoryTest.java +0 -0
  231. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/MemorySchemaLiquibaseTest.java +0 -0
  232. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/PgBouncerTenantIsolationTest.java +0 -0
  233. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/PgContainerHelper.java +0 -0
  234. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/PgVectorCombinedQueryContractTest.java +0 -0
  235. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/PgVectorHybridSearchContractTest.java +0 -0
  236. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/PgVectorServingContractTest.java +0 -0
  237. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/PlanHandlerTest.java +0 -0
  238. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/PlanRepositoryTest.java +0 -0
  239. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/PlansSchemaLiquibaseTest.java +0 -0
  240. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/ReadShapeViewsTest.java +0 -0
  241. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/ReferenceOnlyChunkUpsertTest.java +0 -0
  242. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/SchemaMigratorIntegrationTest.java +0 -0
  243. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/ScratchHandlerTest.java +0 -0
  244. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/ScratchRepositoryTest.java +0 -0
  245. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/ScratchSchemaLiquibaseTest.java +0 -0
  246. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/ServiceBindHostTest.java +0 -0
  247. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/ServiceIntegrationTest.java +0 -0
  248. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/ServiceTokenSchemaLiquibaseTest.java +0 -0
  249. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/SessionTokenHandlerTest.java +0 -0
  250. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/SoftDeleteTest.java +0 -0
  251. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/TaxonomyCentroidHandlerTest.java +0 -0
  252. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/TaxonomyCentroidRepositoryTest.java +0 -0
  253. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/TaxonomyCentroidSchemaLiquibaseTest.java +0 -0
  254. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/TaxonomyPersistHandlerTest.java +0 -0
  255. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/TaxonomySchemaLiquibaseTest.java +0 -0
  256. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/TelemetryRepositoryTest.java +0 -0
  257. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/TelemetrySchemaLiquibaseTest.java +0 -0
  258. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/TenantPoolingIsolationTest.java +0 -0
  259. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/TokenAdminHandlerTest.java +0 -0
  260. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/TokenBoundaryAdversarialTest.java +0 -0
  261. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/UpdatedAtTriggerTest.java +0 -0
  262. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/VectorHandlerEmbeddingModeTest.java +0 -0
  263. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/VectorHandlerTokenUsageTest.java +0 -0
  264. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/VectorHybridHttpTest.java +0 -0
  265. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/VectorIntegrationTest.java +0 -0
  266. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/db/CollectionRegistryTest.java +0 -0
  267. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/db/PoolerModeCheckTest.java +0 -0
  268. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/db/TenantScopeAdmissionTest.java +0 -0
  269. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/db/TenantScopeGucAllowlistTest.java +0 -0
  270. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/http/AspectHandlerEnqueueErrorTest.java +0 -0
  271. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/http/CatalogHandlerImportEmptyBodyTest.java +0 -0
  272. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/http/CatalogHandlerManifestFkTest.java +0 -0
  273. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/http/MigrationHandlerIngestCloudTest.java +0 -0
  274. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/http/TaxonomyHandlerAssignFkTest.java +0 -0
  275. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/http/VersionHandlerReleaseVersionTest.java +0 -0
  276. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/nativeimage/JooqRecordReflectionFeatureTest.java +0 -0
  277. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/resolver/ChromaSchemeHandlerTest.java +0 -0
  278. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/resolver/HttpsSchemeHandlerTest.java +0 -0
  279. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/resolver/UriSchemeResolverRegistryTest.java +0 -0
  280. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/vectors/Bge768EmbedderMathTest.java +0 -0
  281. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/vectors/EgressProxyTest.java +0 -0
  282. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/vectors/EmbedderRouterBge768Test.java +0 -0
  283. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/vectors/EmbedderRouterVoyageOnlyTest.java +0 -0
  284. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/java/dev/nexus/service/vectors/PgVectorRepositoryWherePredicateTest.java +0 -0
  285. {conexus-6.3.0 → conexus-6.3.2}/service/src/test/resources/bge768/parity_reference.json +0 -0
  286. {conexus-6.3.0 → conexus-6.3.2}/sn/README.md +0 -0
  287. {conexus-6.3.0 → conexus-6.3.2}/sn/hooks/scripts/routing/README.md +0 -0
  288. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/__init__.py +0 -0
  289. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/_git_hooks_meta.py +0 -0
  290. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/_locking.py +0 -0
  291. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/_mineru_pid.py +0 -0
  292. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/_session_end_launcher.py +0 -0
  293. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/aspect_extractor.py +0 -0
  294. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/aspect_promotion.py +0 -0
  295. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/aspect_readers.py +0 -0
  296. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/bib_enricher.py +0 -0
  297. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/bib_enricher_openalex.py +0 -0
  298. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/bib_extractor.py +0 -0
  299. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/AGENTS.md +0 -0
  300. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/__init__.py +0 -0
  301. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/auto_linker.py +0 -0
  302. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/catalog_backup.py +0 -0
  303. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/catalog_db.py +0 -0
  304. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/catalog_git.py +0 -0
  305. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/catalog_links.py +0 -0
  306. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/catalog_owners.py +0 -0
  307. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/catalog_spans.py +0 -0
  308. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/catalog_sync.py +0 -0
  309. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/catalog_writes.py +0 -0
  310. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/collection_name.py +0 -0
  311. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/collections_owner_backfill.py +0 -0
  312. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/consolidation.py +0 -0
  313. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/dedupe.py +0 -0
  314. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/dt_link_generator.py +0 -0
  315. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/event_log.py +0 -0
  316. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/events.py +0 -0
  317. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/factory.py +0 -0
  318. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/manifest_backfill.py +0 -0
  319. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/orphan_backfill.py +0 -0
  320. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/projector.py +0 -0
  321. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/store_hook.py +0 -0
  322. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/synthesizer.py +0 -0
  323. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/tumbler.py +0 -0
  324. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/types.py +0 -0
  325. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/catalog/write_priority.py +0 -0
  326. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/checkpoint.py +0 -0
  327. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/chunk_identity.py +0 -0
  328. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/chunker.py +0 -0
  329. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/classifier.py +0 -0
  330. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/cli.py +0 -0
  331. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/collection_audit.py +0 -0
  332. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/collection_health.py +0 -0
  333. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/collection_rename.py +0 -0
  334. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/__init__.py +0 -0
  335. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/_helpers.py +0 -0
  336. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/_migration_prompt.py +0 -0
  337. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/_provision.py +0 -0
  338. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/aspects.py +0 -0
  339. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/catalog.py +0 -0
  340. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/catalog_cmds/__init__.py +0 -0
  341. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/catalog_cmds/backfill.py +0 -0
  342. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/catalog_cmds/backups.py +0 -0
  343. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/catalog_cmds/collections.py +0 -0
  344. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/catalog_cmds/doctor.py +0 -0
  345. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/catalog_cmds/integrity.py +0 -0
  346. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/catalog_cmds/links.py +0 -0
  347. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/catalog_cmds/maintenance.py +0 -0
  348. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/catalog_cmds/migration.py +0 -0
  349. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/catalog_cmds/orphan_backfill.py +0 -0
  350. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/catalog_cmds/owners.py +0 -0
  351. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/catalog_cmds/remediation.py +0 -0
  352. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/catalog_cmds/report.py +0 -0
  353. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/command_context.py +0 -0
  354. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/config_cmd.py +0 -0
  355. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/console.py +0 -0
  356. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/context_cmd.py +0 -0
  357. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/daemon.py +0 -0
  358. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/doc.py +0 -0
  359. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/doctor.py +0 -0
  360. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/dt.py +0 -0
  361. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/enrich.py +0 -0
  362. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/guided_upgrade_cmd.py +0 -0
  363. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/hook.py +0 -0
  364. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/hooks.py +0 -0
  365. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/init.py +0 -0
  366. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/memory.py +0 -0
  367. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/migrate_cmd.py +0 -0
  368. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/migration_cmd.py +0 -0
  369. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/mineru.py +0 -0
  370. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/plan.py +0 -0
  371. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/rdr.py +0 -0
  372. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/scratch.py +0 -0
  373. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/search_cmd.py +0 -0
  374. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/storage_cmd.py +0 -0
  375. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/store.py +0 -0
  376. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/taxonomy_cmd.py +0 -0
  377. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/tenant_cmd.py +0 -0
  378. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/tier_status.py +0 -0
  379. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/uninstall.py +0 -0
  380. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/commands/upgrade.py +0 -0
  381. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/config.py +0 -0
  382. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/console/__init__.py +0 -0
  383. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/console/app.py +0 -0
  384. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/console/config.py +0 -0
  385. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/console/routes/__init__.py +0 -0
  386. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/console/routes/activity.py +0 -0
  387. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/console/routes/campaigns.py +0 -0
  388. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/console/routes/health.py +0 -0
  389. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/console/routes/partials.py +0 -0
  390. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/console/static/alpine.min.js +0 -0
  391. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/console/static/console.css +0 -0
  392. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/console/static/htmx.min.js +0 -0
  393. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/console/static/pico.min.css +0 -0
  394. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/console/templates/activity/_detail.html +0 -0
  395. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/console/templates/activity/_stream.html +0 -0
  396. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/console/templates/activity/index.html +0 -0
  397. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/console/templates/base.html +0 -0
  398. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/console/templates/campaigns/detail.html +0 -0
  399. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/console/templates/campaigns/index.html +0 -0
  400. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/console/templates/health/_cards.html +0 -0
  401. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/console/templates/health/index.html +0 -0
  402. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/console/watchers.py +0 -0
  403. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/context.py +0 -0
  404. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/corpus.py +0 -0
  405. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/cross_encoder.py +0 -0
  406. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/daemon/AGENTS.md +0 -0
  407. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/daemon/T2_DAEMON_WIP.md +0 -0
  408. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/daemon/__init__.py +0 -0
  409. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/daemon/aspect_worker_daemon.py +0 -0
  410. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/daemon/binary_lifecycle.py +0 -0
  411. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/daemon/discovery.py +0 -0
  412. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/daemon/installer.py +0 -0
  413. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/daemon/service_registry.py +0 -0
  414. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/daemon/spin_guard.py +0 -0
  415. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/daemon/storage_service_daemon.py +0 -0
  416. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/daemon/t1_lease.py +0 -0
  417. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/daemon/t2_daemon.py +0 -0
  418. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/daemon/t3_daemon.py +0 -0
  419. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/AGENTS.md +0 -0
  420. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/__init__.py +0 -0
  421. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/chroma_quotas.py +0 -0
  422. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/collection_purge.py +0 -0
  423. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/embed_migrate.py +0 -0
  424. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/http_scratch_store.py +0 -0
  425. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/local_ef.py +0 -0
  426. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/managed_endpoint.py +0 -0
  427. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/migrations.py +0 -0
  428. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/pg_bundle.py +0 -0
  429. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/pg_provision.py +0 -0
  430. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/service_bge_model.py +0 -0
  431. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/service_endpoint.py +0 -0
  432. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/storage_mode.py +0 -0
  433. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t1.py +0 -0
  434. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/__init__.py +0 -0
  435. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/_raw_handle_guard.py +0 -0
  436. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/_tuning.py +0 -0
  437. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/aspect_extraction_queue.py +0 -0
  438. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/aspects_etl.py +0 -0
  439. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/catalog.py +0 -0
  440. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/catalog_etl.py +0 -0
  441. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/catalog_taxonomy.py +0 -0
  442. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/chash_etl.py +0 -0
  443. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/chash_index.py +0 -0
  444. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/document_aspects.py +0 -0
  445. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/document_highlights.py +0 -0
  446. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/http_aspect_queue.py +0 -0
  447. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/http_centroid_store.py +0 -0
  448. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/http_document_aspects_store.py +0 -0
  449. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/http_document_highlights_store.py +0 -0
  450. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/http_memory_store.py +0 -0
  451. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/http_plan_library.py +0 -0
  452. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/http_telemetry_store.py +0 -0
  453. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/http_token_store.py +0 -0
  454. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/memory_etl.py +0 -0
  455. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/memory_store.py +0 -0
  456. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/plan_etl.py +0 -0
  457. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/plan_library.py +0 -0
  458. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/taxonomy_compute.py +0 -0
  459. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/taxonomy_etl.py +0 -0
  460. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/telemetry.py +0 -0
  461. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t2/telemetry_etl.py +0 -0
  462. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/db/t3_reidentify.py +0 -0
  463. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/devonthink.py +0 -0
  464. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/doc/__init__.py +0 -0
  465. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/doc/_common.py +0 -0
  466. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/doc/citations.py +0 -0
  467. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/doc/ref_scanner.py +0 -0
  468. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/doc/render.py +0 -0
  469. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/doc/resolvers.py +0 -0
  470. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/doc/resolvers_corpus.py +0 -0
  471. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/doc/tokens.py +0 -0
  472. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/doctor_search.py +0 -0
  473. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/dropped_writes.py +0 -0
  474. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/dt_writeback.py +0 -0
  475. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/errors.py +0 -0
  476. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/exporter.py +0 -0
  477. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/filters.py +0 -0
  478. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/formatters.py +0 -0
  479. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/frecency.py +0 -0
  480. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/glossary.py +0 -0
  481. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/health.py +0 -0
  482. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/hooks.py +0 -0
  483. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/languages.py +0 -0
  484. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/logging_setup.py +0 -0
  485. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/mcp/AGENTS.md +0 -0
  486. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/mcp/__init__.py +0 -0
  487. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/mcp/_first_run.py +0 -0
  488. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/mcp/_t1_state.py +0 -0
  489. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/mcp/devonthink.py +0 -0
  490. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/mcp/plan_cache_registry.py +0 -0
  491. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/mcp_client/__init__.py +0 -0
  492. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/mcp_client/core.py +0 -0
  493. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/mcp_client/devonthink.py +0 -0
  494. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/mcp_server.py +0 -0
  495. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/md_chunker.py +0 -0
  496. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/merge_candidates.py +0 -0
  497. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/metadata_schema.py +0 -0
  498. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/migration/__init__.py +0 -0
  499. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/migration/banner.py +0 -0
  500. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/migration/chroma_read.py +0 -0
  501. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/migration/detection.py +0 -0
  502. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/migration/driver.py +0 -0
  503. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/migration/etl_registry.py +0 -0
  504. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/migration/guided_upgrade.py +0 -0
  505. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/migration/manifest_check.py +0 -0
  506. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/migration/migration_report.py +0 -0
  507. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/migration/orchestrator.py +0 -0
  508. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/migration/pregate.py +0 -0
  509. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/migration/quiesce.py +0 -0
  510. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/migration/route_coverage.py +0 -0
  511. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/migration/sequencer.py +0 -0
  512. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/migration/state.py +0 -0
  513. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/migration/validation.py +0 -0
  514. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/migration/vector_etl.py +0 -0
  515. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/migration/verify_fill.py +0 -0
  516. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/name_canaries.py +0 -0
  517. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/operators/aspect_sql.py +0 -0
  518. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/operators/dispatch.py +0 -0
  519. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/pdeathsig.py +0 -0
  520. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/pdf_chunker.py +0 -0
  521. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/pdf_extractor.py +0 -0
  522. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/phase_review_sentinel.py +0 -0
  523. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/pipeline_buffer.py +0 -0
  524. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/pipeline_stages.py +0 -0
  525. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/plans/__init__.py +0 -0
  526. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/plans/bundle.py +0 -0
  527. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/plans/loader.py +0 -0
  528. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/plans/match.py +0 -0
  529. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/plans/matcher.py +0 -0
  530. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/plans/promote.py +0 -0
  531. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/plans/purposes.py +0 -0
  532. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/plans/repair.py +0 -0
  533. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/plans/runner.py +0 -0
  534. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/plans/schema.py +0 -0
  535. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/plans/scope.py +0 -0
  536. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/plans/seed_loader.py +0 -0
  537. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/plans/session_cache.py +0 -0
  538. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/registry.py +0 -0
  539. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/repo_identity.py +0 -0
  540. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/repos.py +0 -0
  541. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/retry.py +0 -0
  542. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/ripgrep_cache.py +0 -0
  543. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/routing_stats.py +0 -0
  544. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/salience.py +0 -0
  545. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/scoring.py +0 -0
  546. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/search_clusterer.py +0 -0
  547. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/search_engine.py +0 -0
  548. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/session.py +0 -0
  549. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/storage_boundary_lint.py +0 -0
  550. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/taxonomy.py +0 -0
  551. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/taxonomy_backfill.py +0 -0
  552. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/ttl.py +0 -0
  553. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/types.py +0 -0
  554. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/util/__init__.py +0 -0
  555. {conexus-6.3.0 → conexus-6.3.2}/src/nexus/util/process_group.py +0 -0
  556. {conexus-6.3.0 → conexus-6.3.2}/tests/cc-validation/README.md +0 -0
  557. {conexus-6.3.0 → conexus-6.3.2}/tests/e2e/t2-migration-sqlite/README.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: conexus
3
- Version: 6.3.0
3
+ Version: 6.3.2
4
4
  Summary: Self-hosted semantic search and knowledge management for LLM-driven development
5
5
  Project-URL: Homepage, https://github.com/Hellblazer/nexus
6
6
  Project-URL: Repository, https://github.com/Hellblazer/nexus
@@ -194,6 +194,8 @@ An RDR (Research-Design-Review) is a short document that records a technical dec
194
194
  | [RDR-176](rdr-176-survivable-managed-migration-readiness.md) | Survivable Managed-Migration Readiness: Batched ETL, First-Class Downgrade with an Immutable Source, Unified Config-First Auth, Edge Route Coverage, and Migration Observability | Architecture | Closed | 2026-06-30 |
195
195
  | [RDR-177](rdr-177-tenant-telemetry-usage-metering.md) | Unified Tenant-Scoped Telemetry, Observability, and Usage Metering for the Engine Service: One Stats Layer for Local Users and Cloud Tenants | Architecture | Draft | 2026-07-01 |
196
196
  | [RDR-178](rdr-178-unattended-migration.md) | Unattended Migration: Industrialize the Store-Migration Path from Babysat to Autonomous | Architecture | Closed | 2026-07-01 |
197
+ | [RDR-179](rdr-179-self-correction-machinery-remediation.md) | Self-Correction Machinery Remediation: Relight Plan-Reuse, Retrieval Benchmarking, Plan-Library Hygiene, and Taxonomy-Aware Recall | Architecture | Draft | 2026-07-04 |
198
+ | [RDR-181](rdr-181-server-side-embed-skip-on-reindex.md) | Server-Side Embed-Skip on Re-Index: Stop Re-Embedding Chunks Whose Vector the Store Already Holds | Technical Debt | Accepted | 2026-07-05 |
197
199
 
198
200
  > **Scrapped 2026-05-19 (RDR-110-119 arc).** Bundled the storage-substrate split with new abstractions (tuplespace, ORB, host-trust, surfaces-as-tuples, UI fabric); scope discipline failed across nine RDRs and 67 stranded beads. Files preserved as tombstones per the "never delete RDR files" rule. Postmortem: [docs/postmortem/2026-05-16-rdr110-113-remediation-chain.md](../postmortem/2026-05-16-rdr110-113-remediation-chain.md). Active substrate work continues as [RDR-120](rdr-120-storage-substrate-split.md) with an explicit moratorium on co-shipped consumers. Numbers RDR-114 through RDR-117 are unused on `main` (drafted on feature branches that never merged).
199
201
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "conexus-mcpb"
3
- version = "6.3.0"
3
+ version = "6.3.2"
4
4
  description = "Conexus packaged as Claude Desktop .mcpb (Desktop Extension)"
5
5
  requires-python = ">=3.12"
6
6
  dependencies = [
@@ -10,7 +10,7 @@ dependencies = [
10
10
  # while collections are indexed at 768/1024-dim, so every T3 search hits a
11
11
  # dimension mismatch and returns zero results. The .mcpb cannot run the
12
12
  # interactive `nx init` embedder choice, so it must pin [local] explicitly.
13
- "conexus[local]>=6.3.0",
13
+ "conexus[local]>=6.3.2",
14
14
  ]
15
15
 
16
16
  [tool.uv]
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "conexus"
7
- version = "6.3.0"
7
+ version = "6.3.2"
8
8
  description = "Self-hosted semantic search and knowledge management for LLM-driven development"
9
9
  readme = { file = "README.md", content-type = "text/markdown" }
10
10
  requires-python = ">=3.12,<3.14"
@@ -53,64 +53,60 @@ public final class AspectRepository {
53
53
  /** Minimum confidence threshold (mirrors Python _MIN_CONFIDENCE = 0.3). */
54
54
  private static final double MIN_CONFIDENCE = 0.3;
55
55
 
56
- // EXCLUDED pseudo-table fields used in ON CONFLICT DO UPDATE SET.
57
- // DRIFT RISK (RDR-164 review S4): these field("...") fragments embed literal column
58
- // names (EXCLUDED.<col>, and qualified table cols in the COALESCE/GREATEST/LEAST/CASE
59
- // constants below) that jOOQ codegen CANNOT type-check — jOOQ has no typed API for the
60
- // EXCLUDED pseudo-table. If any referenced column is renamed in a Liquibase changelog
61
- // (document_aspects.{problem_formulation,proposed_method,experimental_datasets,
62
- // experimental_baselines,experimental_results,extras,confidence,extracted_at,model_version,
63
- // extractor_name,source_uri,salient_sentences,doc_id}; aspect_extraction_queue.{status,
64
- // retry_count,enqueued_at,last_attempt_at,last_error}), these strings compile but fail at
65
- // runtime. Update them HERE when renaming those columns.
66
- private static final Field<String> EX_PROBLEM_FORMULATION = field("EXCLUDED.problem_formulation", String.class);
67
- private static final Field<String> EX_PROPOSED_METHOD = field("EXCLUDED.proposed_method", String.class);
68
- private static final Field<String> EX_EXPERIMENTAL_DATASETS = field("EXCLUDED.experimental_datasets", String.class);
69
- private static final Field<String> EX_EXPERIMENTAL_BASELINES = field("EXCLUDED.experimental_baselines", String.class);
70
- private static final Field<String> EX_EXPERIMENTAL_RESULTS = field("EXCLUDED.experimental_results", String.class);
71
- private static final Field<String> EX_EXTRAS = field("EXCLUDED.extras", String.class);
72
- private static final Field<Double> EX_CONFIDENCE = field("EXCLUDED.confidence", Double.class);
73
- private static final Field<OffsetDateTime> EX_EXTRACTED_AT = field("EXCLUDED.extracted_at", OffsetDateTime.class);
74
- private static final Field<String> EX_MODEL_VERSION = field("EXCLUDED.model_version", String.class);
75
- private static final Field<String> EX_EXTRACTOR_NAME = field("EXCLUDED.extractor_name", String.class);
76
- private static final Field<String> EX_SOURCE_URI = field("EXCLUDED.source_uri", String.class);
77
- private static final Field<String> EX_SALIENT_SENTENCES = field("EXCLUDED.salient_sentences", String.class);
78
- private static final Field<String> EX_DOC_ID = field("EXCLUDED.doc_id", String.class);
56
+ // EXCLUDED pseudo-table fields used in ON CONFLICT DO UPDATE SET, typed via
57
+ // DSL.excluded(Field) (nexus-mzuj9: replaces the hand-built field("EXCLUDED.x", ...)
58
+ // raw-string fragments jOOQ codegen now type-checks every column reference here
59
+ // against the generated DOCUMENT_ASPECTS / DOCUMENT_HIGHLIGHTS / ASPECT_EXTRACTION_QUEUE
60
+ // tables, so a Liquibase column rename fails at COMPILE time instead of at runtime).
61
+ private static final Field<String> EX_PROBLEM_FORMULATION = excluded(DOCUMENT_ASPECTS.PROBLEM_FORMULATION);
62
+ private static final Field<String> EX_PROPOSED_METHOD = excluded(DOCUMENT_ASPECTS.PROPOSED_METHOD);
63
+ private static final Field<String> EX_EXPERIMENTAL_DATASETS = excluded(DOCUMENT_ASPECTS.EXPERIMENTAL_DATASETS);
64
+ private static final Field<String> EX_EXPERIMENTAL_BASELINES = excluded(DOCUMENT_ASPECTS.EXPERIMENTAL_BASELINES);
65
+ private static final Field<String> EX_EXPERIMENTAL_RESULTS = excluded(DOCUMENT_ASPECTS.EXPERIMENTAL_RESULTS);
66
+ private static final Field<String> EX_EXTRAS = excluded(DOCUMENT_ASPECTS.EXTRAS);
67
+ private static final Field<Double> EX_CONFIDENCE = excluded(DOCUMENT_ASPECTS.CONFIDENCE);
68
+ private static final Field<OffsetDateTime> EX_EXTRACTED_AT = excluded(DOCUMENT_ASPECTS.EXTRACTED_AT);
69
+ private static final Field<String> EX_MODEL_VERSION = excluded(DOCUMENT_ASPECTS.MODEL_VERSION);
70
+ private static final Field<String> EX_EXTRACTOR_NAME = excluded(DOCUMENT_ASPECTS.EXTRACTOR_NAME);
71
+ private static final Field<String> EX_SOURCE_URI = excluded(DOCUMENT_ASPECTS.SOURCE_URI);
72
+ private static final Field<String> EX_SALIENT_SENTENCES = excluded(DOCUMENT_ASPECTS.SALIENT_SENTENCES);
73
+ private static final Field<String> EX_DOC_ID = excluded(DOCUMENT_ASPECTS.DOC_ID);
79
74
 
80
75
  // COALESCE(EXCLUDED.x, table.x) fields for importAspect path
81
76
  private static final Field<String> EX_SOURCE_URI_COALESCE =
82
- field("COALESCE(EXCLUDED.source_uri, document_aspects.source_uri)", String.class);
77
+ coalesce(excluded(DOCUMENT_ASPECTS.SOURCE_URI), DOCUMENT_ASPECTS.SOURCE_URI);
83
78
  private static final Field<String> EX_SALIENT_COALESCE =
84
- field("COALESCE(EXCLUDED.salient_sentences, document_aspects.salient_sentences)", String.class);
79
+ coalesce(excluded(DOCUMENT_ASPECTS.SALIENT_SENTENCES), DOCUMENT_ASPECTS.SALIENT_SENTENCES);
85
80
  private static final Field<String> EX_DOC_ID_COALESCE =
86
- field("COALESCE(EXCLUDED.doc_id, document_aspects.doc_id)", String.class);
81
+ coalesce(excluded(DOCUMENT_ASPECTS.DOC_ID), DOCUMENT_ASPECTS.DOC_ID);
87
82
 
88
83
  // document_highlights EXCLUDED fields
89
- private static final Field<String> EX_HL_SOURCE_URI = field("EXCLUDED.source_uri", String.class);
90
- private static final Field<String> EX_HL_COLLECTION = field("EXCLUDED.collection", String.class);
91
- private static final Field<String> EX_HL_HIGHLIGHTS = field("EXCLUDED.highlights_md", String.class);
92
- private static final Field<String> EX_HL_MENTIONS = field("EXCLUDED.mentions_md", String.class);
93
- private static final Field<OffsetDateTime> EX_HL_INGESTED_AT = field("EXCLUDED.ingested_at", OffsetDateTime.class);
84
+ private static final Field<String> EX_HL_SOURCE_URI = excluded(DOCUMENT_HIGHLIGHTS.SOURCE_URI);
85
+ private static final Field<String> EX_HL_COLLECTION = excluded(DOCUMENT_HIGHLIGHTS.COLLECTION);
86
+ private static final Field<String> EX_HL_HIGHLIGHTS = excluded(DOCUMENT_HIGHLIGHTS.HIGHLIGHTS_MD);
87
+ private static final Field<String> EX_HL_MENTIONS = excluded(DOCUMENT_HIGHLIGHTS.MENTIONS_MD);
88
+ private static final Field<OffsetDateTime> EX_HL_INGESTED_AT = excluded(DOCUMENT_HIGHLIGHTS.INGESTED_AT);
94
89
 
95
90
  // aspect_extraction_queue EXCLUDED fields
96
- private static final Field<String> EX_Q_DOC_ID = field("EXCLUDED.doc_id", String.class);
97
- private static final Field<String> EX_Q_CONTENT_HASH = field("EXCLUDED.content_hash", String.class);
98
- private static final Field<String> EX_Q_CONTENT = field("EXCLUDED.content", String.class);
99
- private static final Field<OffsetDateTime> EX_Q_ENQUEUED_AT = field("EXCLUDED.enqueued_at", OffsetDateTime.class);
100
- private static final Field<String> EX_Q_LAST_ERROR = field("EXCLUDED.last_error", String.class);
101
- // Complex GREATEST/LEAST/CASE fields for importQueueRow
91
+ private static final Field<String> EX_Q_DOC_ID = excluded(ASPECT_EXTRACTION_QUEUE.DOC_ID);
92
+ private static final Field<String> EX_Q_CONTENT_HASH = excluded(ASPECT_EXTRACTION_QUEUE.CONTENT_HASH);
93
+ private static final Field<String> EX_Q_CONTENT = excluded(ASPECT_EXTRACTION_QUEUE.CONTENT);
94
+ private static final Field<OffsetDateTime> EX_Q_ENQUEUED_AT = excluded(ASPECT_EXTRACTION_QUEUE.ENQUEUED_AT);
95
+ private static final Field<String> EX_Q_LAST_ERROR = excluded(ASPECT_EXTRACTION_QUEUE.LAST_ERROR);
96
+ // Complex GREATEST/LEAST/CASE fields for importQueueRow, typed via DSL.when/.otherwise
97
+ // and DSL.greatest/DSL.least against the EXCLUDED pseudo-table + the live column.
102
98
  private static final Field<String> EX_Q_STATUS_CASE =
103
- field("CASE WHEN nexus.aspect_extraction_queue.status = 'in_progress' "
104
- + "THEN nexus.aspect_extraction_queue.status ELSE EXCLUDED.status END", String.class);
99
+ when(ASPECT_EXTRACTION_QUEUE.STATUS.eq("in_progress"), ASPECT_EXTRACTION_QUEUE.STATUS)
100
+ .otherwise(excluded(ASPECT_EXTRACTION_QUEUE.STATUS));
105
101
  private static final Field<Integer> EX_Q_RETRY_GREATEST =
106
- field("GREATEST(EXCLUDED.retry_count, nexus.aspect_extraction_queue.retry_count)", Integer.class);
102
+ greatest(excluded(ASPECT_EXTRACTION_QUEUE.RETRY_COUNT), ASPECT_EXTRACTION_QUEUE.RETRY_COUNT);
107
103
  private static final Field<OffsetDateTime> EX_Q_ENQUEUED_LEAST =
108
- field("LEAST(EXCLUDED.enqueued_at, nexus.aspect_extraction_queue.enqueued_at)", OffsetDateTime.class);
104
+ least(excluded(ASPECT_EXTRACTION_QUEUE.ENQUEUED_AT), ASPECT_EXTRACTION_QUEUE.ENQUEUED_AT);
109
105
  private static final Field<OffsetDateTime> EX_Q_ATTEMPT_GREATEST =
110
- field("GREATEST(EXCLUDED.last_attempt_at, nexus.aspect_extraction_queue.last_attempt_at)", OffsetDateTime.class);
106
+ greatest(excluded(ASPECT_EXTRACTION_QUEUE.LAST_ATTEMPT_AT), ASPECT_EXTRACTION_QUEUE.LAST_ATTEMPT_AT);
111
107
  private static final Field<String> EX_Q_LAST_ERROR_CASE =
112
- field("CASE WHEN EXCLUDED.status = 'failed' THEN EXCLUDED.last_error "
113
- + "ELSE nexus.aspect_extraction_queue.last_error END", String.class);
108
+ when(excluded(ASPECT_EXTRACTION_QUEUE.STATUS).eq("failed"), excluded(ASPECT_EXTRACTION_QUEUE.LAST_ERROR))
109
+ .otherwise(ASPECT_EXTRACTION_QUEUE.LAST_ERROR);
114
110
 
115
111
  private final TenantScope tenantScope;
116
112
 
@@ -906,7 +902,14 @@ public final class AspectRepository {
906
902
  ASPECT_EXTRACTION_QUEUE.COLLECTION,
907
903
  ASPECT_EXTRACTION_QUEUE.SOURCE_PATH)
908
904
  .doUpdate()
909
- .set(ASPECT_EXTRACTION_QUEUE.DOC_ID, EX_Q_DOC_ID)
905
+ // nexus-nyout: a doc_id-less re-enqueue (blank -> NULL via
906
+ // nullIfBlank; e.g. collection re-embed) must not erase an
907
+ // existing correct tumbler — COALESCE keeps the old linkage;
908
+ // a real incoming tumbler still overwrites. The queue IMPORT
909
+ // path stays verbatim EXCLUDED.doc_id: fidelity import
910
+ // reproduces exported rows exactly, including blanks.
911
+ .set(ASPECT_EXTRACTION_QUEUE.DOC_ID,
912
+ coalesce(EX_Q_DOC_ID, ASPECT_EXTRACTION_QUEUE.DOC_ID))
910
913
  .set(ASPECT_EXTRACTION_QUEUE.CONTENT_HASH, EX_Q_CONTENT_HASH)
911
914
  .set(ASPECT_EXTRACTION_QUEUE.CONTENT, EX_Q_CONTENT)
912
915
  .set(ASPECT_EXTRACTION_QUEUE.STATUS, "pending")