Purpose
Create a new TWU model with entities, actions, events, and outcomes, then publish it to make it available for work operations.Scope
This guide covers:- Creating a new TWU model from scratch
- Defining model components (entities, actions, events, outcomes)
- Saving and publishing model versions
- Managing model lifecycle (draft, published, archived)
- Editing existing published models (creates new versions)
- Archiving models
- Using TWU models in work operations
- Policy definition and enforcement
Preconditions
- Access to a Veratrace instance
- Valid AWS Cognito authentication
- Appropriate permissions to create and publish TWU models (Administrator or Editor role)
- Backend API running at
http://localhost:8080(development)
Permissions
Required roles: Administrator or Editor (inferred from mock roles)
Steps

Step 1: Navigate to Create Page
- Click TWU Models in the navigation sidebar
- Click Create button or navigate directly to
/twu-models/create
/twu-models/create
Component: AddEditTWUModelPage (create mode)
Source: /Users/vincentgraham/clearline-ui/src/app/routes/routerConfig.jsx (line 102-103)
Step 2: Define Model Basics
- Enter Name - Model name (required)
- Enter Description - Model description (required)
/twu-models/create (Entities tab)
Component: ModelHeader
Source: /Users/vincentgraham/clearline-ui/src/features/twuModel/pages/AddEditTWUModelPage.jsx
Step 3: Define Entities
- Click Entities tab
- Add entity definitions
- Configure entity properties
/twu-models/create (Entities tab)
Component: EntitiesTab
Source: /Users/vincentgraham/clearline-ui/src/features/twuModel/pages/AddEditTWUModelPage.jsx (line 19)
Step 4: Define Actions
- Click Actions tab
- Add action definitions
- Configure action properties
/twu-models/create (Actions tab)
Component: ActionsTab
Source: /Users/vincentgraham/clearline-ui/src/features/twuModel/pages/AddEditTWUModelPage.jsx (line 20)
Step 5: Define Events
- Click Events tab
- Add event definitions
- Configure event properties
/twu-models/create (Events tab)
Component: EventsTab
Source: /Users/vincentgraham/clearline-ui/src/features/twuModel/pages/AddEditTWUModelPage.jsx (line 21)
Step 6: Define Outcomes
- Click Outcomes tab
- Add outcome definitions
- Configure outcome expressions
/twu-models/create (Outcomes tab)
Component: OutcomesTab
Source: /Users/vincentgraham/clearline-ui/src/features/twuModel/pages/AddEditTWUModelPage.jsx (line 22)
Step 7: Save Draft
- Click Save Draft button
- Model is saved with status DRAFT
/twu-models/create
Component: AddEditTWUModelPageActions
Source: /Users/vincentgraham/clearline-ui/src/features/twuModel/pages/AddEditTWUModelPage.jsx (line 25)
Step 8: Publish Model
- Click Publish button
- Draft version is published and becomes available for use
/twu-models/:modelId/versions/:version/edit
Component: AddEditTWUModelPageActions
Source: /Users/vincentgraham/clearline-ui/src/features/twuModel/pages/AddEditTWUModelPage.jsx (line 25)
Backend API Calls
Create TWU Model
Endpoint:POST /instances/:instanceId/twu-models
Called when: User clicks “Save Draft” for the first time
Request:
id or modelId
Source: /Users/vincentgraham/clearline-ui/src/features/twuModel/api/twuModels.js (line 72-99)
Create New Version
Endpoint:POST /instances/:instanceId/twu-models/:modelId/versions
Called when: User edits a published model (creates new version)
Request: Same as Create TWU Model
Response: Created version object
Source: /Users/vincentgraham/clearline-ui/src/features/twuModel/api/twuModels.js (line 192-219)
Publish Draft
Endpoint:POST /instances/:instanceId/twu-models/:modelId/publish
Called when: User clicks “Publish” button
Request: No body (uses modelId from URL)
Response: Published version object
Source: /Users/vincentgraham/clearline-ui/src/features/twuModel/api/twuModels.js (line 227-250)
Get Model Versions
Endpoint:GET /instances/:instanceId/twu-models/:modelId/versions
Called when: Loading model for editing
Response: Array of version objects with full payloads
Source: /Users/vincentgraham/clearline-ui/src/features/twuModel/api/twuModels.js (line 136-156)
Get Specific Version
Endpoint:GET /instances/:instanceId/twu-models/:modelId/versions/:version
Called when: Loading specific version for editing
Response: Version object with full data
Source: /Users/vincentgraham/clearline-ui/src/features/twuModel/api/twuModels.js (line 165-183)
Audit/Evidence Implications
Source: Source: Feature InventoryTroubleshooting
Error: “Instance configuration not available”
Cause: Instance config not loaded or invalid Solution:- Verify authentication is complete
- Check instance ID is valid
- Refresh page and retry
/Users/vincentgraham/clearline-ui/src/features/twuModel/api/twuModels.js (line 30-32)
Error: “Failed to create TWU model”
Cause: Invalid model data or backend error Solution:- Verify all required fields are filled
- Check model structure is valid
- Review backend logs for details
/Users/vincentgraham/clearline-ui/src/features/twuModel/api/twuModels.js (line 90-96)
Error: “Failed to publish TWU model draft”
Cause: Draft validation failed or backend error Solution:- Verify draft is complete (entities, actions, events, outcomes defined)
- Check for validation errors
- Review backend logs
/Users/vincentgraham/clearline-ui/src/features/twuModel/api/twuModels.js (line 241-247)
Dirty State Warning
Cause: Unsaved changes detected Solution:- Save draft before navigating away
- Use “Leave Page” confirmation to discard changes
/Users/vincentgraham/clearline-ui/src/features/twuModel/pages/AddEditTWUModelPage.jsx (line 16)
Related
- TWU Model Concept - Understand TWU models
- TWU Models API - Complete API reference