Aller au contenu

Roadmap

In Progress 16

Appointments: near-real-time Doctolib ingestion
Backend dead-code sweep (2026-05 audit long-tail)
BE register — Star Dental / Asterisk, two-layer (shares + Entitlement)
Imports: GL_REGL practitioner-less lines rejected every run (bank cash deposits) Area: imports Effort: small
Infrastructure: Alerting Reliability Area: infra Effort: medium
Infrastructure: Secret Management & Backup Improvements Area: infra Effort: medium
Pennylane sync — migrate the source from Redshift to REST API v2 Area: pennylane_sync Effort: large
Canonical group seed — narrative bootstrap
groupe-suffren.com — Revamp Benchmark & Direction
groupe-suffren.com Revamp — Delivery Plan
groupe-suffren.com Revamp — Phase 0 Positioning Workshop
`/rejoindre` — Strawman page (Phase 1)
Websites CMS — Visual Editing (live preview + drafts)
Websites — Helios single-build convergence (Aletheia blocks as the source) Area: websites Effort: large
Practice Logo-Mark Library — curated pool + on-demand bespoke generation
Websites — personalisation / duplicate-content audit report Area: websites Effort: medium

Backlog 90

Agent: ACTES_2 / GL_REGL column ↔ value misalignment (SELECT * positional drift) Area: agent Effort: small-medium
Agent — ACTES_2 COUNT(*) ghost-record blocks export Area: agent Effort: small
Agent: CIVIL.FIC Additional Columns Area: agent Effort: small
Agent: Code-sign the build (Authenticode) Area: agent, Effort: medium
Agent: Data Quality Gates & Monitoring Area: agent, Effort: medium
Agent: Installer AV/EDR allow-list step Area: agent, Effort: small
Agent: Ship Full Logs + Crash State to the Server Area: agent, Effort: medium
Agent: NDJSON + Hash-Manifest Pipeline Area: agent Effort: large
Agent: Retry Window After Failure Area: agent Effort: small
Agent: Self-Update Swap Lock — Misreport + Stalled-Run Watchdog Area: agent Effort: small
Use API-provided display labels as fallback Area: annuaire Effort: small
FINESS Data Enrichment Area: annuaire Effort: medium
Annuaire: org_key consumer sweep — bootstrap-ready + forward-correct Area: annuaire Effort: small
Annuaire — retire the legacy change-detection engine + orphaned artifacts
ATS careers — public apply go-live hardening Area: ats Effort: small
Practice-scope the parent-fetch child CRUD + non-single-object sync triggers (security) Area: dentists Effort: medium
Authentication roadmap — reset now, SSO / passkeys / vault later
Backend: rename misnamed `*_namespace_tables.py` migrations that don't change schema Area: backend Effort: small
Backend: add `make audit-schema-drift` to detect managed/unmanaged ↔ schema mismatch Area: backend Effort: small
Budgets — Excel: P&L assumptions + entity-scoped budgets Area: budgets Effort: medium
Budgets — retire unwired models + dead service methods
Captable browser smoke — May 2026 supplemental findings Area: captable Effort: medium
Captable legal register exports Area: captable Effort: small
Captable: warrants (BSA / BSPCE) + full conversion ratio support Area: captable Effort: medium
Cleanup unwired Celery tasks — wire or delete
Collection: Replicate Production Uploads to Staging Area: collection Effort: small
Converge model field-clusters + form boilerplate into core bases
Converge the ETL / ingestion scaffold into shared bases
Converge list views onto the core list mixins
Converge duplicated template fragments into shared components
core — shared parsing/text/date utils module
Booking-device chart: get the data back from Doctolib, or drop the chart Area: dashboard Effort: small
Dashboard card info popovers: roll out the `{% card_info_popover %}` pattern Area: dashboard Effort: small
Define a richer "Internal" grouping scheme Area: dashboard Effort: small
Tighter Procedure ↔ Appointment join for per-visit metrics Area: dashboard Effort: medium
Dentist onboarding portal Area: dentists Effort: large
dentists — genericize the 12 child-CRUD views
E-signature provider-API integration (DocuSign / Yousign)
Entities: distinguish external companies from group companies Area: entities Effort: small-medium
Greffe coverage — persisted worklist (V2) Area: entities Effort: medium
Legal-corpus extraction — deal-bible inbox (FR/BE) → register evidence Area: entities Effort: large
Finance consolidation: derive from the register, retire `group_consolidation.json`
Finance: Dual-view "as-reported" vs "restated" toggle Area: finance Effort: medium-large
Finance filter: fold scope + period into the generic mixins Area: finance Effort: medium
finance_workflow — wire the write path, or shelve the app
Financing module — debt-servicing engine (deferred) Area: register Effort: large
Hook: detect templates whose form uses SearchSelect but doesn't include form-search-select.js Area: tooling Effort: small-medium
Combo HR Integration Area: hr Effort: large
Silae Payroll Integration Area: hr Effort: large
imports — collapse the 5×/4×/6× import boilerplate
Ingestion audit follow-ups (deferred 2026-06-23)
Retire the server-side encoding pass (agent becomes sole cleaner)
Infra — dev override bind hygiene + rotate burned dev creds Area: Infra Effort: small
Infra — confirm/gate `docs.groupe-suffren.com` access Area: Infra Effort: small
Off-Site Backup for Irreplaceable Data Area: infra Effort: small
PgBouncer in Front of shared_postgres Area: infra Effort: small-medium
Legal classify — Celery + Anthropic-API task (Phase B) Area: legal Effort: small
Operation grouping — a transaction/closing layer above movements & assemblies
Monitoring: Log-Based Alerting via the Loki Ruler Area: infra, Effort: small
nomos_ccam — retire the orphaned live-search subsystem
Patients: Doctolib ↔ Aletheia/Logosw divergence
Pay: associate remuneration (rétrocession)
payments-deletion-controls
Pennylane bridged data — three open DQ flags Area: pennylane_sync Effort: small
Pennylane prosthetics sync — enable the pipeline Area: finance Effort: small
People: affiliation curation (trombinoscope override table)
PRM — patient recalls & no-show follow-up Area: prm Effort: large
PRM — Patient Relationship Management Area: new Effort: large
Register: share-premium reconciliation & entity valuation Area: register Effort: large
Migrate static assets to per-app layout Area: infra Effort: medium
Testing: coverage regression gate — enforcement + visibility Area: testing Effort: medium
Testing: sweep high-risk 0%-coverage modules Area: testing Effort: large
UI: Sweep date inputs to the new hybrid widget Area: ui Effort: medium
UI: purge nested `` / `class="small"` inside `table-dense` cells Area: ui Effort: small
UI: tokenise avatar/photo sizing if it recurs Area: ui Effort: tiny
UI: tokenise progress-bar dimensions if they recur Area: ui Effort: tiny
**Status:** Provisional — surfaced by the 2026-04-20 graduation of `guidelines/ux/feedback-and-confirmation.md`. Confirm or delete.
**Status:** Provisional — surfaced by the 2026-04-20 graduation of `guidelines/ux/feedback-and-confirmation.md`. Confirm or delete.
**Status:** Provisional — surfaced by the 2026-04-20 graduation of `guidelines/ux/feedback-and-confirmation.md`. Confirm or delete.
**Status:** Provisional — surfaced by the 2026-05-01 graduation of `guidelines/ux/microcopy.md`. Confirm or delete.
> **Status:** Provisional — surfaced by the 2026-05-01 graduation of `guidelines/ux/navigation.md`. Confirm or delete.
> **Status:** Provisional — surfaced by the 2026-05-01 graduation of `guidelines/ux/navigation.md`. Confirm or delete.
Websites: T3 Helios manifest drift test Area: websites Effort: small/medium
Websites — Clinical sign-off of the platform illustration library Area: websites Effort: small
Websites — revisit dropping `related_pages` from the API Area: websites Effort: small
Workplan — Improvements & Follow-ups
Workplan: Tree-mode drag-and-drop reparenting Area: workplan Effort: medium
Workplan: Tree-mode KPI rollup on parent rows Area: workplan Effort: medium
Workplan: Tree-mode `+ enfant` elegant in-place swap Area: workplan Effort: small
Workplan: weekly-review meeting screen polish Area: workplan Effort: small

Ideas 36

Accounts: Additional User Roles
Backend: pick one style for raw-SQL references to `nomos.*` tables (qualified vs bare)
Claude working setup — make the style rules actually hold
Clinical: Knowledge Platform (référentiel + academy + veille)
CRM: M&A Due-Diligence Room
Dashboard: Analytics & KPI Dashboards
dashboard-collection-bank-reconciliation
Dashboard: Custom Report Builder
Idea: M1 → M2 cascade on GL mapping rule form
HR: Employee Onboarding Portal (all employees, not only dentists)
HR: Internal Planning Rebuild (replace Combo, feed Silae direct) Area: hr Effort: large
**Status:** Provisional — surfaced by the 2026-05-01 graduation of `guidelines/ux/microcopy.md`. Confirm or delete.
Imports: AJAX Progress & Notifications
Infrastructure: Multi-Factor Authentication & Security
Doc-driven register operations (going-forward: bible → match-or-create → confirm)
Questions et Remarques sur les Exports LogosW
Marketing: Catchment & Market Intelligence
Marketing: Unified Marketing Cockpit
Marketing: Google Reviews & E-Reputation Module
Marketing: Local SEO & Listings Management (the outbound half)
Marketing: Patient Acquisition Performance Tracking
Marketing Platform — pillar vision & sequencing
Marketing: Referral Channels (patient parrainage + referring-dentist CRM)
Marketing: Satisfaction → Review Funnel (the NPS bridge)
Marketing: Social-Media Presence Management
Nomos CCAM: Advanced Features
payments-reconciliation-automation
RCM: Revenue Cycle Management Platform
Register UX/UI Audit — April 2026
UI: converge `badge-entity-*` to a single naming scheme
UI: add a `SearchSelect` example to the form skeleton
UX: Active Alerting (passif → actif)
**Status:** Provisional — surfaced by the 2026-04-20 graduation of `guidelines/ux/feedback-and-confirmation.md`. Confirm or delete.
UX: Patient-Facing Self-Service Portal
> **Status:** Provisional — surfaced by the 2026-05-01 graduation of `guidelines/ux/navigation.md`. Confirm or delete.
Websites — per-practice blog authoring (Phase 3)

Done 97

Agenda analytics — operational dashboard at `/agenda/` Area: dashboard Effort: large,
Agent: One-Shot Bootstrap Installer Area: agent, Effort: medium
Agent v4: Server→Agent Control Channel (fast update, on-demand rerun, config push) Area: agent, Effort: large
Agent: csv.writer Migration Area: agent Effort: small
Agent: Housekeeping — Updates Pruning, Archive Compression, Log Relocation Area: agent Effort: small
Agent: Resilience & Early Bail on Server Failure Area: agent Effort: small
Agent: Self-Configuring Paths (self-contained dirs + auto-detected source/export) Area: agent Effort: small
Agent: Self-Update Mechanism Area: agent Effort: medium
Done: geocode annuaire orgs as a bootstrap + sync step
Annuaire: stable Organization identity + position continuity across ANS reinit gaps Area: annuaire Effort: medium
Practice-scoping gaps on object views (security) Area: core Effort: medium
Backend: restore soft-delete on the DeleteViews broken by the Django 5.2 upgrade Area: backend Effort: medium
Budgets: Excel export/import of budget assumptions Area: budgets Effort: medium
Captable Improvements Area: captable Effort: large
Codebase audit — dead code / simplification / convergence (2026-05)
Collection: Alert on Batch Failures Area: collection Effort: small
Collection: batch never settles when orchestration outlives its time limit Area: collection Effort: small–medium
Collectors: provision and rotate credentials from Aletheia, not ssh Area: collection Effort: medium
Collection → ELT pipeline (epic / coordinating doc) Area: collection Effort: xl
Extract Logosw into its own app; make `collection` the shared collector kernel
Collection: "Full re-export" dashboard button Area: collection
Collection: Allow Partial Batch Imports Area: collection Effort: medium
Core: Phase 1 Foundation Area: core Effort: large
Core: Reset Test Data Tools Area: core Effort: small
CRM: DSO Practice Acquisition Pipeline Area: crm Effort: large
Doctolib completeness tracker — practice-dashboard card
Dashboard CCAM grouping: pluggable schemes + faithful Logosw mapping
E-signature provenance — capture signing authority + reference (DocuSign / Yousign / …)
Document extraction & OCR — platform capability (`apps/documents`)
Garbage text-layer (`needs_ocr` false-negative) — a *quality* gate on extraction
Partial-scan `needs_ocr` false-positive on text-rich documents
Document repository + domain consumers — one byte store, many meanings Area: documents Effort: large
Entity legal-document store + register linkage
Entities CRUD on the website
Finance: Consolidated Cash Flow statement
Finance: Drill-down UI from report line to GL entry
Helios domain onboarding — wildcard the preview, decouple identity, single-source the registry
HR: Applicant Tracking System (ATS) linked to Helios + group website
ATS feature benchmark: Recruitee — the bar to replace and beat
ATS minimal schema draft (`apps/ats`)
i18n Audit Report — Exhaustive List of Violations
i18n French-source convergence — 2026-04-18 execution record
i18n: rewrite English model source strings to French source
i18n: sweep templates and views for English-source drift back to French
i18n: wrap hardcoded user-facing strings in views (imports + sync) Area: i18n Effort: small
Imports: Capture & Reconcile Bad CSV Lines (stop silent row loss) Area: imports Effort: small
Imports: Bulk Operations, Error Export & Progress Tracking Area: imports Effort: medium
Imports: Agent Encoding & Semicolon Fixes Area: imports Effort: small
Imports: GL Payment Cleanup (Phase 6) Area: imports Effort: small
Imports: GL-Based Payment Model Redesign Area: imports Effort: large
Imports: ELT large-load path (staging COPY + set-based merge, resumable) Area: imports Effort: large
Imports: Logging & Memory Optimization Area: imports Effort: small
Imports: Reap & Auto-Rerun Stuck Imports Area: imports Effort: small
Infrastructure: Monitoring, Observability & Alerting Area: infra Effort: large
Infra — perimeter hardening (exposed dev stack + IPv6 gap)
Legal document deletion workflow — "À supprimer" état on SoftDeleteModel
Documents juridiques — front-office (list + import + auto-tag review)
P4 matching — empirical findings: blind import vs. LU seed vs. ground truth
Legal matcher — deterministic noise reduction Area: legal
Finance & Cap Table Planning Session Summary
Pennylane Redshift: surviving the first load of a dated ledger Area: pennylane_sync Effort: medium
Pennylane sync: schema drift vs live DB/API before relaunch Area: pennylane_sync Effort: small
People: central `Person` master-data model
procedures-payments-banking-date-basis
Register — cap-table & movement import capability Area: register Effort: large
Register — Luxembourg shareholder-register import (Suffren / Menthe stack) Area: register Effort: medium
Register holders UX rework
UI Design Audit & Polish Area: UI/CSS Effort: medium
UI design-system: fix mechanical rule violations surfaced by 2026-04 audit Area: ui Effort: small-medium
UI: audit forms.Select FK pickers for SearchSelect migration candidates
UI: tokenise hardcoded colors in module CSS (register, captable, crm, date_picker) Area: ui Effort: medium
Website Pages Audit & Improvement Plan
Cosmos — code review punch list (2026-07 repo review)
Websites — Block schema validation audit + active enforcement Area: websites Effort: small
Websites CMS block-form buildout — schema parity + best-in-class editing UX
Websites CMS ↔ Helios consistency audit — June 2026
Websites — Aletheia→Helios on-demand revalidation (finish the half-built webhook) Area: websites Effort: medium
Websites — converge every image field onto the library media picker Area: websites Effort: medium
Image variant storage convergence (sidecar JSON vs DB column) Area: websites Effort: medium
Multi-file drop zone for media uploads
Websites — Page tree row enrichment + readiness signal
Websites — Curated platform image library (C10) Area: websites Effort: medium
Websites — retire the image variant pipeline (Helios owns responsive images) Area: websites Effort: medium
Websites — retire `PatientNeed` Area: websites Effort: small-medium
Websites app — review hardening (2026-07 module review)
Websites — collapse ServiceCategory into a Page tree Area: websites Effort: large
Helios shared-base buildout Area: websites Effort: large
Shared website content → DB authoritative (editable shared pages) Area: websites Effort: large
Websites — Shared content as source of truth (registry + content split)
Plan — replace Phase 2b's 12 manual batches with one generator-driven cut
Websites structure realignment — reconcile spec, contract, code, build Area: websites Effort: large
Websites — trim API payloads to what Helios actually consumes Area: websites Effort: small
Workplan: Hiérarchie (tree) view for Action list Area: workplan Effort: medium
Workplan: Project Layer + Type Convergence Area: workplan Effort: medium
Workplan — Routines & Template Projects Area: workplan Effort: medium
Workplan — Edit a template after creation Area: workplan Effort: small–medium
Workplan: Rework the weekly priority review (group-scoped, snapshot-based) Area: workplan Effort: medium