Life ConnectLife Connect
Wiki index
Architecture
Services
UI
Concepts
Runbooks
Infra
Swagger Docs
GitHub
Wiki index
Architecture
Services
UI
Concepts
Runbooks
Infra
Swagger Docs
GitHub
Last updated 2026-05-03

Life Connect ADB — wiki index

AI-generated content

This site is the human + agent entry point for everything we know about the hlc-lifeconnect/adb monorepo. The pattern, conventions, and ingest workflow are described in the repo-root AGENTS.md. Pages are auto-flagged with their kind and status; if you find one that's stale, file an issue or edit it directly.

How this is organised

docs/
├── architecture/   concepts: how the whole thing fits together
├── services/       entities: one page per microservice or repo project
├── infra/          stubs: pointers to infra/*.md (Pulumi project, AWS audit)
├── concepts/       cross-cutting topics (events, deploy, auth, …)
├── runbooks/       how-to guides
├── decisions/      design decisions (ADR-style)  — empty for now
├── archive/        retired content (functional-epics/, technical-epics/, …)
└── index.md        you are here

Read the kind: field on each page's frontmatter to know what shape to expect.

Architecture (concepts)

  • Overview — global topology, project inventory, Mermaid arch diagram.
  • Service-to-service communication — FQDN, gateway, BFF, sync vs async.
  • Data layer — MongoDB Atlas, S3, Neo4j, messaging.
  • Authentication — Keycloak, JWT, token flow.

Cross-cutting concepts

  • EventBridge fanout — Atlas Triggers → AWS partner buses → SQS queues.
  • Atlas Triggers — the producer side of every async event.
  • ECS Fargate deploy lifecycle — what pulumi up actually does.
  • Keycloak hosting — Elestio EC2s per env, why not containerised.
  • Cloudflare Pages auto-deploy — adb-doc and adb-ui delivery.
  • Bitbucket Pipelines (legacy) — what's still on Bitbucket and why.
  • Terraform-managed envs (legacy) — the 28 workspaces in tf-states.life-connect.fr.
  • Business-flow audit & SPI/Wipimo gap analysis — 109-item taxonomy coverage vs SPI/Wipimo, P0/P1 gaps, scope decisions. Links to audit/.

Accounting model

  • Accounting model overview — events, journals, plan of accounts, FEC, matrices.
  • Events catalog — one page per AccountingEventType constant, with live code references.
  • Journals · Plan of accounts · FEC fields · pieceReference numbering · Tenant matrix · Owner matrix · Take-over UI rules
  • Engine functional audit (2026-07) — full-page interactive report (tabs, filters, FR/EN): 113 verified findings across the accounting + contracts engines vs the documented matrix and French business/legal rules.

Testing & quality

  • Cross-service BDD scenario catalog (EN/FR) — every @adb/e2e-api Gherkin scenario in English + French, generated from the .feature @i18n: tags and the per-service scenarios/<svc>.json seeds (node tools/scenario-catalog.mjs).
  • Test coverage — unit gates and capability coverage — the two things called coverage: the 85% vitest gate (red by design until the fan-out lands) and the 248-capability index measured against the live staging app, 63% covered, with the 21 confirmed defects it found and the 5 findings withdrawn on re-measurement.
  • Staging end-to-end suite (Playwright) — 642 tests driving the deployed Angular app, how to run them, the two opposed kinds of spec (specs/** records a defect and is green, specs-desired/** specifies the fix and is red), and what keeps a run from writing on someone else's data.
  • Coverage report — apps, packages, services — generated (pnpm report:coverage): per-member line/branch coverage over the three product directories, the workspace total as a sum rather than an average, the members whose run failed, and the ones that produced no figure at all.
  • End-to-end suite report — staging — generated (pnpm report:e2e): the suite's inventory by area, the capability coverage by verdict, and the confirmed defects by severity. Does not run the suite.

Services (entities)

Backend (Java / Spring WebFlux):

  • adb (Maven parent + proxy) · adb-persons · adb-parts · adb-contracts · adb-accounting
  • adb-files · adb-utilities · adb-aggregates · adb-views · adb-reports

Frontend:

  • adb-ui (Angular legacy) · adb-web (Cloudflare Workers BFF)

Infrastructure & tooling:

  • adb-charts (legacy Helm) · adb-infrastructure (Atlas + EventBridge scripts) · adb-tests-artillery · adb-doc

External / non-monorepo:

  • adb-tickets · adb-notes (deprecated) · adb-graph (incomplete)

Infrastructure (stubs to infra/*.md)

  • Section overview
  • Pulumi project overview — layout, stacks, local dev. Source: infra/README.md.
  • Current AWS + MongoDB Atlas state — read-only audit baseline. Source: infra/CURRENT_AWS_STATE.md.
  • MongoDB Atlas — Realm CLI setup — install + auth for atlas and realm-cli. Source: infra/MONGODB_REALM_CLI_SETUP.md.

Runbooks

  • Onboarding a new engineer — the real 12-week learning path: local stack, one request traced end to end, the JVM→Cloudflare port, tests, front end, auth, infra, and working with agents. Start here.
  • Provision a new environment — using infra/scripts/new-env.sh.
  • Deploy a PR preview — /deploy and /destroy PR comments.
  • Run the local stack — make up from infra/.
  • Local Atlas Search ($search) — make up-search + make search-indexes for local $search.
  • Re-point the staging files bucket — tools/scripts/files-bucket-migrate.mjs fixes the 502s on GET /files/:id in staging.
  • Migrate ticket type INCIDENT to DAMAGE — tools/scripts/migrate-incident-damage.mjs, staging first then production at the 0.69 roll-out; dry-run, guarded $set, rollback log.
  • Migrate Cloudflare ledger lines to the JVM account shape — tools/scripts/migrate-entry-account-shape.mjs: the account of lines written flat / id-less → AccountingEntryAccountDetails through the posting seam's resolver; dry-run, guarded $set, rollback log.
  • Migrate Worker-stored allocation keys to the JVM entity shape — tools/scripts/migrate-allocation-key-shape.mjs: legacy allocation-key request bodies → AllocationKeyEntity through lot 62's write mapper; dry-run, guarded replaceOne, rollback log.
  • Merge the accounting sequence twin counters at the production cutover — services/accounting/scripts/migrate-accounting-sequence-org-spelling.mjs, run once at the cutover (JVM accounting writes quiesced): renames organizationId counters, merges twins keeping MAX (FEC #3 and #9), creates the two unique indexes; race-safe apply (conditioned writes, $max, re-plan) and EJSON backup since 2026-10-10; rehearsed on staging 2026-10-06.
  • Data migrations (pnpm migrate) — the tracked MongoDB migrations of packages/data/migrations (umzug, adb-system._migrations, checksum, lock, dry-run unless --apply); assert is the pre-deploy gate pnpm infra:setup runs. 0001–0006 applied on staging. Production mode since 2026-10-10: PROD_MONGO_URI, --i-know-this-is-prod + host typed back, cutover-only behind --cutover, preflights, --apply --plan <hash>.

Reference

  • Data dictionary — collection attributes — surviving from the legacy docs; will get frontmatter and a domain pass in a follow-up.

Archive

The archive/ tree holds content that was true at some point but isn't actively maintained: functional-epics, technical-epics, productBoard, implicit. Anything in archive/ defaults to status: stale.

  • Archive index

Conventions and meta

  • AGENTS.md — how agents operate on this wiki.
  • Style guide — page conventions.
  • adb-doc/log.md — chronological maintenance log (repo-only, not on the site).
Edit this page
Last Updated:
Contributors: Grégory Horion