Strategy / Chameleon

Chameleon Development Roadmap (Nexus-Driven)

Nexus-requirements-driven roadmap for ChameleonV2. Covers remaining milestones, ChameleonBI capability, new deployment targets (Power Apps, UMD, SPFx, CLI, PDF), and capability gap closure by use case priority.

Version CHR-1.0 Date 2026-05-02 Owner Uued Viljapuuaiad Status Active Authority Tier 2

1. Current State (2026-05-02)

Metric Value
Version 1.2.2
Components 68 exported
Tests 1047 passing, 94.66% statement coverage
Build TypeScript clean, Vite UMD + ESM
Repository CodeCommit eu-west-2
Deployment Targets React (ESM), UMD (CDN script tag)

Completed Milestones

ID Name Status
M-NEXUS-CV-0 Infrastructure Restoration COMPLETE
M-NEXUS-CV-1 Nexus Integration Layer (schema binding, RBAC, Human Gate, ARC adapter) COMPLETE
M-NEXUS-CV-5 Schema-Driven Layout Engine COMPLETE

Remaining Milestones (from existing plan)

ID Name Status
M-NEXUS-CV-2 Business Data Type Layer NOT STARTED
M-NEXUS-CV-3 Validation Engine NOT STARTED
M-NEXUS-CV-4 Style System and Mobile NOT STARTED

2. Consistency Issues Found in Existing Docs

Issue Location Problem Resolution
ROADMAP.md shows M-NEXUS-CV-1 S1a "60%" docs/ROADMAP.md SESSION_REVIVAL confirms S1a COMPLETE Update ROADMAP.md status to COMPLETE
MILESTONES.md CAP-04 says "OCR trigger" docs/MILESTONES.md Chameleon does NOT do OCR. It collects a file and passes to callback. Rewrite CAP-04 DoD: file input + onUpload callback, no OCR status
SPRINT_PLAN S3 says "Document Reference BDT + Entity Link BDT" docs/SPRINT_PLAN.md S3 scope description references "OCR" in Document Reference. Rename to "File Reference BDT" or clarify scope is file+callback only
USE_CASES.md Step 2 says "Atlas OCR auto-fill" docs/USE_CASES.md Chameleon collects file. Pipeline returns extracted values. Chameleon may receive updated field values via prop refresh. Clarify: Chameleon uploads, pipeline fills, Chameleon re-renders with new values
Gap Analysis CAP-04 title: "Document Reference BDT (with OCR)" CHAMELEON_GAP_ANALYSIS_2026-04-20.html No OCR in Chameleon Drop "(with OCR)" from capability name
M-NEXUS-CV-5 not in MILESTONES.md docs/MILESTONES.md Layout engine was added post-initial plan Add M-NEXUS-CV-5 section to MILESTONES.md
nexusFormNodeUrl prop still in ChameleonForm.d.ts docs/chameleon/ (Wormwood dist copy) Sprint Plan states consumer-agnostic naming: must be remoteSchemaUrl This is a dist artifact -- verify source uses generic name

3. Roadmap: Nexus-Requirements-Driven

Phase 1: Form Completeness (M-NEXUS-CV-2 + CV-3 merged)

Unblocks: Nesto (UC-D1), AES (UC-P2), ENDO (UC-P3)

Sprint: S3-S4 (merged into one delivery)

Critical path item: Without this, no use case with file uploads or validation can ship.

Capability Description Use Cases Priority
V-CAP-02a: File Reference fieldType: 'file' -- styled file input, onUpload callback with file metadata, preview thumbnail. Chameleon passes file to caller. Nesto, ENDO, EDR P1
V-CAP-02b: Entity Link fieldType: 'entity_link' -- typeahead search field, queries lookupUrl, returns {entityId, entityLabel} Nesto, ARC, AES P1
V-CAP-02c: Computed Display fieldType: 'computed' -- read-only value display, visually distinct, excluded from form data Nesto, AES, EDR P1
V-CAP-04a: Pattern Validation validation.pattern regex + presets (email, phone, passport) Nesto, AES P1
V-CAP-04b: Min/Max validation.min, validation.max, validation.minLength, validation.maxLength All P1
V-CAP-04c: Conditional Visibility visibleWhen with AND/OR compound conditions Nesto (POLO field), AES (adaptive routing) P1
V-CAP-04d: Async Custom Validator validation.custom function receiving all form values, returns error or null Nesto (VR-01..VR-17 surface), ENDO P2

Definition of Done:


Phase 2: Presentation and Branding (M-NEXUS-CV-4)

Unblocks: Multi-tenant white-label (Nesto employer portals), mobile Worker form

Sprint: S5

Capability Description Use Cases Priority
V-CAP-05a: styleRef injection styleRef prop fetches CSS skin, injects scoped to form root Nesto (employer branding), AES (institution branding) P2
V-CAP-05b: Mobile-first Submitter 1-column responsive layout, 44px tap targets, keyboard-appropriate inputs Nesto (Worker SMS-link form) P2
V-CAP-05c: Theme system expansion Built-in themes beyond light/dark/omnissiah All P3

Definition of Done:


Phase 3: ChameleonBI (New Capability)

Origin: Osiris prototype (E:/repos/archive/Osiris) -- PowerBI analysis/reconstruction

Requirement source: Nexus Use Case Register Section 5.1, EDR (UC-P1), AES (UC-P2)

Target: Dashboard and reporting layer that consumes DashboardNode / ListViewNode / NavMenuNode outputs

Capability Description Use Cases Priority
BI-01: Schema-driven dashboard Dashboard layout defined in schema (same pattern as form layout). Metric cards, tables, charts positioned by schema. EDR, AES, ARC P2
BI-02: DashboardNode consumer Accepts DashboardNode output (metrics array) and renders ArcDashboardGrid or configurable card grid EDR, AES P2
BI-03: ListViewNode consumer Accepts ListViewNode output (columns + rows) and renders ArcDataTable with sort/filter/pagination EDR, AES, ARC P2
BI-04: NavMenuNode consumer Accepts NavMenuNode output (menu items) and renders navigation shell (sidebar, topbar, tabs) All multi-screen apps P2
BI-05: Chart components Line, bar, pie, scatter charts from schema (data source = API endpoint or inline data) EDR (trend analysis), AES (score distribution) P3
BI-06: Real-time data refresh Polling or SSE subscription for live dashboard updates EDR (ingestion monitor) P3
BI-07: Export (PDF/CSV) Render current dashboard state to PDF or export table data as CSV All P3

Relationship to existing components:

Definition of Done:


Phase 4: New Deployment Targets

Source: Nexus Deployment Matrix Section 3.3 (View Layer Implementations)

Target Rendering Approach Status Priority Use Cases
React ESM npm package, tree-shakeable COMPLETE -- All
UMD CDN IIFE bundle, script tag inclusion COMPLETE (48KB) -- Air-gapped, non-React hosts
Power Apps Schema-to-PowerFx control mapper PLANNED P3 Nesto Phase 4, Microsoft-native enterprises
SharePoint SPFx SPFx web part wrapping ChameleonV2 React PLANNED P3 SharePoint-heavy organisations
Excel Forms VBA UserForm / Office Scripts generator PLANNED P4 Offline analysts, legacy data entry
CLI / Terminal Text-based prompts from schema PLANNED P4 DevOps, batch ingestion, testing
PDF Static Server-side render to static PDF PLANNED P4 Audit/compliance read-only output

Power Apps Target (P3 -- Highest New Target Priority)

Nesto Phase 4 explicitly requires Power Platform deployment. This means:

  1. Schema Compiler: JSON form schema -> Power Apps canvas app definition (YAML/msapp format)
  2. Field Mapping: ChameleonV2 field types -> Power Apps controls (TextInput, Dropdown, DatePicker, AttachmentControl, etc.)
  3. RBAC Mapping: ChameleonV2 role-based visibility -> Dataverse row-level security + Power Apps Visible/DisplayMode properties
  4. Validation Mapping: ChameleonV2 validation rules -> PowerFx IsMatch(), Value validation patterns
  5. Human Gate: Power Automate Approvals connector triggered from Power Apps button

This is NOT a re-implementation of ChameleonV2 in PowerFx. It is a compiler that takes a Chameleon schema and generates a Power Apps definition. The schema remains the single source of truth.

CLI Target (P4 -- Developer Tooling)

Schema renders as interactive terminal prompts (like npm init). Useful for:


Phase 5: Platform Maturity

Capability Description Priority Milestone
PM-01: npm publish pipeline Automated version bump, changelog, npm publish on merge to main P2 Infra
PM-02: Storybook Component gallery with all 68 components rendered P3 DX
PM-03: Schema validation tool CLI tool that validates a schema JSON before runtime P2 DX
PM-04: Migration tool Upgrade schemas from v1.x to v2.x format changes P4 Maintenance
PM-05: Performance budget Bundle size tracking, render time benchmarks per component P3 Quality
PM-06: Accessibility audit WCAG 2.1 AA compliance verification across all components P2 Quality

4. Critical Path

Phase 1 (Form Completeness)
    |
    v
Phase 2 (Style + Mobile)  -----> Phase 3 (ChameleonBI)
v v Phase 4a (Power Apps) Phase 4b (SPFx/CLI/PDF) | v Phase 5 (Platform Maturity)

Phases 1 and 2 are sequential -- validation and file inputs must work before branding.

Phase 3 can start after Phase 1 -- dashboards need data types but not mobile styling.

Phase 4 can start after Phase 2 -- deployment targets need the complete feature set.

Phase 5 runs parallel -- infrastructure improvements are independent.


5. Use Case Dependency Map

Which use cases are unblocked at each phase:

Phase Capability Delivered Use Cases Unblocked
Phase 1 complete File input, entity link, computed, validation, conditional visibility Nesto (full form flow), AES (assessment forms), ENDO (document intake)
Phase 2 complete White-label branding, mobile Submitter Nesto (employer portal, worker SMS form)
Phase 3 complete Schema-driven dashboards, nav shell, chart components EDR (monitoring dashboard), AES (results dashboard), ARC (pipeline dashboard)
Phase 4a complete Power Apps deployment Nesto Phase 4 (Microsoft-native), any Microsoft-shop client
Phase 4b complete SPFx, CLI, PDF SharePoint enterprises, DevOps testing, compliance/audit outputs

6. Nexus View Layer Capability Status (V-CAP)

From Deployment Matrix -- current delivery status for the React target:

V-CAP Capability Status Phase
V-CAP-01 Schema forms COMPLETE --
V-CAP-02 Field types (file, entity_link, computed) NOT STARTED Phase 1
V-CAP-03 RBAC filter COMPLETE --
V-CAP-04 Validation (pattern, min/max, conditional, async) NOT STARTED Phase 1
V-CAP-05 Style tokens (styleRef, mobile) NOT STARTED Phase 2
V-CAP-06 Group layout COMPLETE (Layout Engine) --
V-CAP-07 Options render (select, checkbox, radio, badge) COMPLETE --
V-CAP-08 Entity pre-population NOT STARTED Phase 1
V-CAP-09 ARC adapter COMPLETE --
V-CAP-10 UMD bundle COMPLETE --
V-CAP-11 List view (ArcDataTable) COMPLETE --
V-CAP-12 Dashboard (ArcDashboardGrid) COMPLETE (basic), schema-driven Phase 3 Phase 3

7. Version History

Version Date Changes
CHR-1.0 2026-05-02 Initial Nexus-driven Chameleon roadmap. 5 phases, ChameleonBI spec, deployment targets, consistency fixes identified.