14 Commits
Author SHA1 Message Date
James MaesandClaude Opus 5.5 51ca0bb920 refactor(health): register CRM checks with the core health registry
maven / build (push) Successful in 1m36s
build / maven (push) Successful in 1m36s
Replace the CrmHealthChecks STAND-IN (qqq#1199) adapter onto the
qqq-middleware-health HealthIndicator with checks registered in the QQQ
4.1 core HealthChecksMetaData registry (crm.email, crm.sequence_lag,
crm.lead_score). The core HealthRunner schedules them and runs each as
the core system user. Drop the optional qqq-middleware-health dependency.

Also keep the lead-score incremental watermark at millisecond precision
to match modifyDate, fixing PlatformReuseTest skipping a same-millisecond
change on a warm JVM.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-07 13:40:26 -06:00
james.maesandClaude Opus 5.5 d0f558dc60 build(deps): align with Gitea registry (parent 2.2.1, QQQ 4.1.0-RC.26)
maven / build (push) Failing after 3m24s
build / maven (push) Failing after 3m25s
pom.xml: parent -> 2.2.1
pom.xml: qqq.snapshot.version: 4.1.0-RC.7 -> 4.1.0-RC.26
pom.xml: qbit-email: 0.1.0-RC.3 -> 0.1.0-RC.11
pom.xml: added qqq.version=4.1.0-RC.26 (parent BOM import)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-07 17:56:32 +00:00
james.maesandClaude Opus 5.5 08e880af2e fix: the qbit metadata version comes from the build, not a hardcoded constant
The producer read a literal version, so released artifacts reported a stale
or -SNAPSHOT version. qbit-crm.properties (version=${project.version}) is
Maven-filtered and the producer loads it; tests assert producer == bundle ==
artifact version.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 01:22:58 -05:00
james.maesandClaude Opus 5.5 4710ed38b3 fix(help): the help bundle carries the artifact version (Maven-filtered) instead of a hardcoded SNAPSHOT
On release branches the bundle's version and the producer's differed, so the
bundle test that asserts they match failed, and released bundles recorded
SNAPSHOT as their provenance. help/*.yaml is now filtered:
version: ${project.version}.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 22:05:02 -05:00
james.maesandClaude Opus 5.5 c5383718a3 feat(help): ship the qbit-crm help bundle through QQQ help bundles, with coverage gate
Host-neutral help (deployment-specific facts removed), registered with
HelpBundles, gated by HelpBundleAssertions. QQQ 4.1.0-RC.7.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 20:27:08 -05:00
james.maesandClaude Opus 5.5 4b4b33127e feat: populate and explain every CRM table (defaults changelog, setup card, help, currency date)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 16:51:18 -05:00
james.maesandClaude Opus 5.5 da0ba96966 feat: PII classification, optional tenancy locks, search fields and API publication
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 14:54:55 -05:00
james.maesandClaude Opus 5.5 fc2effb070 feat: CrmEmailTransport (qbit-email first, core messaging fallback) and signed CRM tokens
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 12:34:33 -05:00
james.maesandClaude Opus 5.5 448ebdc7f8 build: parent 2.1.2, QQQ 4.1.0-RC.6, Java 21, wrapper, orb 0.6.9, guardrails
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 12:12:36 -05:00
CircleCI 88a25c5a72 Bump version to 0.1.0 [skip ci] 2026-03-29 21:08:11 +00:00
james.maes 2a68ab4d14 chore: bump develop to 0.2.0-SNAPSHOT 2026-03-29 15:55:40 -05:00
james.maes c1d65736fb chore(license): switch from AGPL v3 to Apache 2.0
Update LICENSE file, pom.xml license reference, checkstyle header
template, and README badge/references.
2026-03-29 15:39:20 -05:00
CircleCI 1f29e30a86 Bump version to 0.1.0 [skip ci] 2026-03-29 12:36:55 +00:00
james.maes 5237e301ea feat: initial qbit-crm implementation
Complete CRM QBit with 39 entities, 27 processes, 14 widgets, 24 enum
PVSs across all 5 phases. 271 tests passing. Activity-centric design
with pipeline-driven deals and perpetual audit log.

Closes QRun-IO/qqq#433, QRun-IO/qqq#434, QRun-IO/qqq#435,
QRun-IO/qqq#436, QRun-IO/qqq#437
2026-03-28 19:03:12 -05:00