- Activity log: import_log DB table, GET /activity endpoint, collapsible
panel in Update Data tab showing who changed what score and when
- Sync logging: Box syncs now also write to import_log with before/after scores
- Multilingual: ES, PT, IT, PL UI strings in i18n/ui.js; content translations
(pillars, scoring labels, About tab) in clients/adeo/config.json; language
switcher upgraded from EN/FR toggle to 6-language dropdown
- cfg() and pillarDisplayName() generalised to support any language (not just FR)
- import_file.py: reads 'Final QA ...' column first (falls back to Score) so
QA-updated XLSX files produce the correct overall score on import
- convert_data.py/docker-compose: use ADEO_DATA_ROOT env var for Box path
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Highlights markets with missing scores, rationale, gap analysis,
or stale sync data. Also adds per-entity synced date to data.json
and cache-busts script.js.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Multi-client maturity dashboard (Express/vanilla JS, port 3102).
ADEO client: 8 markets, 7 pillars, 59 questions.
Includes data converter, universal PDF summary generator, and
new-client wizard for adding future clients.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>