main
feat(web-console,workflow): Ant Design pass, ISPF BPMN editor, callActivity
feat(blueprints): rename RELATIVE/ABSOLUTE to MIXIN/SINGLETON
fix(security): remediate audit findings across backend, web console, deploy and CI
fix(web-console): wrap operator dashboard nav instead of overflowing
feat(web-console): Haystack tag editor in Inspector (BL-57) - HaystackMetadataPanel: marker multiselect, kind/ref fields, save via setVariable - Inspector tab Haystack when haystack-metadata-v1 mixin is applied - i18n en/ru/de/zh; unit tests for markers helper and panel - Docs: BL-57 Done, GAP_REGISTRY, ROADMAP, ADR-0021 Co-authored-by: Michael Sviridov <michaael@narod.ru>
Add poka-yoke tool schemas, P7 creation stack, and UI-locale agent language.
Fix preview PWA e2e: offline session, Workbox URL match, login aria.
fix(console): operator UX, explorer shell, and virt-cluster preset.
fix(web-console): localize hardcoded strings, un-block i18n gate
Reduce architectural risk with modular AI/OM seams and BPMN subset freeze.
fix(ci): guard jsdom-only polyfills in test setup
Merge branch 'try/antd-security-users'
merge main into security-audit PR
Close Phase 26-32 Partial waves: HMI, security, historian, MES, automation, ecosystem.
feat(web-console): support subdirectory base for co-hosted PWA
fix(security,web-console): Wave 0 hardening — prod defaults, WS posture, CSS split.
Add light/dark/system theme support across the web console. Theme preference persists in localStorage and applies to admin, login, operator shells, charts, and CodeMirror editors. Co-authored-by: Cursor <cursoragent@cursor.com>
Initial commit: IoT Solutions Platform Framework (ISPF)