One reviewable integration on current develop 7d61f29e. It starts from
feat/record-files-standalone (attachment lifecycle, upload journal, retention
SPI; descends from develop) and adds the owner stack content from
feature/collab, feature/collab-int-20261029, feature/field-values-1196,
feature/presence-recovery-1300, test/presence-capacity-1302 and the
fix/attachment-transactions-1289 / fix/mywork-query-bounds-1291 work, plus
KOF22 adaptations: CollaborationQBitConfig.attachmentLifecycle,
CollaborationRecords.insertActivity/query(transaction), ActivityWriter source
feature routing, and the Redis/fixture tests.
Build: develop CI files are preserved. pom.xml only adds the Redis API
guardrail allow-list and an optional qbit-redis dependency; the core and
qbit-redis versions stay on the canonical SNAPSHOT lines with markers to repin
after the core and redis integration PRs are published (order CORE -> REDIS ->
COLLAB). No PRIVATE or feature-snapshot coordinate is introduced. Not yet
compiled: it needs the core integration artifact (virtual-field providers).
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
4.0 KiB
Selectable collaboration fields: published feature snapshot
Tracks QQQ #1196.
This source branch requires the new core virtual-field value-provider API. Its
default BOM pin is now the published
4.1.0-virtual-field-values-1196-cc3981bb3-SNAPSHOT. Core publisher job 9716
passed from commit cc3981bb3c95e8f2dd7ef2a02e2233db7d0e2a79; an independent
consumer with an initially empty Maven repository downloaded its BOM and core
and compiled the provider interface on October 26, 2026. Both artifacts resolve
to timestamp 20261026.130631-1 from Sonatype's snapshot repository.
Published artifact SHA-256 receipts:
| Artifact | SHA-256 |
|---|---|
| BOM POM | d68cf837d7e07513c4e70977829f99e6236cb3e89f8af85fc75239d5b52564a5 |
| Core POM | d89d491aaa9312051ec462e1cf165b948ee3e88c9aec2721ff25a00e956c431b |
| Core JAR | ae6dbeba8d0e4bc55f2714303ee3482dbf6a0cd34c03663c6009d8fe2c1da54d |
The collaboration follow-up is published as
0.1.0-field-values-1196-ecff347-SNAPSHOT, timestamp
20261026.133203-1. Publisher job 168 passed from commit
ecff347efe2bb84949b8452a3383e3fdeb4bcede, using signed tag
publish-values1196-20261026-ecff347.
| Collaboration artifact | SHA-256 |
|---|---|
| POM | cc12f59cbdfd4bc53ba545a9f2b6d7c14a316034b107ef5541ddc48df45fe6af |
| JAR | 284fa370504dd82cee8c87d2b8f5c0cecba8c4b15b32a4f9d3d62a0a062e549d |
On October 26, an independent Java 21 consumer downloaded this pair into an
initially empty Maven repository and compiled both TagValueProvider and
CustomFieldValueProvider as VirtualFieldValueProviderInterface instances.
Maven recorded Sonatype central-portal-snapshots as the artifact source. The
downloaded collaboration POM pins the core version above; the independently
downloaded core JAR matches the receipt above. This checks published dependency
resolution and API compatibility; runtime behavior is covered by the 198-test
verification below, not by this compilation probe.
This snapshot does not include the separate attachment, My Work or presence recovery follow-up PRs. It has not been deployed to Kof22.
Earlier local verification used core artifacts installed as
4.1.0-values1196-SNAPSHOT, with
./mvnw.cmd -Dqqq.snapshot.version=4.1.0-values1196-SNAPSHOT verify.
That version exists only in the local Maven repository; it is not an adoption pin.
Behavior
collaborationTagsreturns sorted, distinct approved labels from global or matching-table vocabulary. Merged tags and deleted assignments are excluded. The picker and filters retain their tag IDs; exports contain one Tags column.- EAV custom fields return typed existing values and ordinary possible-value display labels. Missing values are null internally and omitted from HTTP value maps. This change does not enable EAV writes.
- Providers process batches and use the originating transaction. Parent record authorization and field visibility remain enforced by core. Existing host post-query customizers remain installed.
- SQL DISTINCT on provider values is explicitly unsupported. Backend primary-key identity is required; joined heavy primary keys must be fetched explicitly.
Release sequence
- Publish and verify the coordinated core artifact containing the provider API (done).
- Replace this branch's core BOM pin with that published version (done).
- Run full collaboration verification against the published prerequisite (done October 26: 198 tests, no failures/errors/skips; packaging and coverage passed, including HTTP, PostgreSQL transaction and Redis tests).
- Publish the collaboration snapshot and verify an independent consumer using published artifacts (done; exact pair recorded in CANDIDATE-RELEASE.md).
- Update Kof22 Website-Backend adoption work and qualify it in the selected isolated staging environment before requesting production deployment.
The published pair contains this implementation. Kof22 adoption, a compatible packaged frontend and staging qualification remain separate release steps.