Views must be properly defined before being referenced
All view references in windows and dependencies must correspond to defined views
View names must be unique within the document and included files
Windows must be properly associated with views
Every window should be referenced by at least one view
Windows referenced in view window-ref elements must exist
Window roles within a view must be unique
View inheritance must be valid and acyclic
Views can only inherit from other defined views
Inheritance chains must not contain cycles
Inherited view types must be compatible (base views can be inherited by any type)
View categories must be compatible in inheritance hierarchies
View dependencies must be valid and resolvable
Referenced views in dependencies must be defined
Dependency relationships must be appropriate for the view types
Required dependencies must be satisfiable
Circular dependencies between views are not allowed
View relationships must be semantically correct
Lookup relationships should reference utility or business-entity views
Detail relationships should reference views that can operate in detail mode
Reference relationships should not create tight coupling
Primary relationships in composite views must be unique
Data context properties must be consistently defined
Shared-scope properties must have compatible types across views
Property names within a view must be unique
Global-scope properties should be defined in base views or modules
Data context types must be valid and resolvable
View data context bindings must be valid
Window data-context-binding must reference existing data context properties
Binding scopes must be appropriate for the window role
Navigation contexts must reference valid data context properties
Navigation actions must be valid and reachable
Navigation targets must reference defined windows within the view
Navigation contexts must reference valid data context properties
Action names within a view must be unique
Required navigation actions must be implemented
Behavior scopes must be appropriate and consistent
Global-scope behaviors should be defined in base views or modules
View-scope behaviors must be unique within the view
Inherited behaviors can be overridden with compatible scopes
Inter-view communication must be properly defined
Subscribed events must reference valid source views
Event handlers must be implemented in the subscribing view
Published events should be consumed by at least one subscriber
Event data types must be compatible between publishers and subscribers
Composite views must be properly structured
Composed views must be defined and accessible
Layout slots must correspond to wireframe slot definitions
Primary role must be assigned to exactly one composed view
Coordination rules must reference valid views and events
Module views must properly organize related functionality
Module views must contain at least one view reference
Referenced views in modules must be defined
Module dependencies must be valid and resolvable
Main navigation items must reference contained views
Process flow workflows must be valid and navigable
Workflow steps must reference valid windows within the view
Step transitions must form a connected graph
Workflow must have at least one starting step (no previous)
Circular workflows must have explicit exit conditions
View metadata must be valid for code generation
Model class names must follow naming conventions
View model class names should end with 'ViewModel'
Controller class names should end with 'Controller'
Permission strings must follow defined permission patterns
View types must be used appropriately
Business-entity views should have CRUD operations
Process-flow views should define workflow steps
Dashboard views should aggregate data from other views
Utility views should be designed for reuse
Wizard views should have sequential navigation
Base views should be designed for inheritance
Views should be designed for optimal performance
Dependency depth should not exceed 5 levels
Composite views should not contain more than 10 composed views
Data context properties should have appropriate scopes
Event subscriptions should not create performance bottlenecks
Views must implement proper security constraints
Views with write operations must specify appropriate permissions
Sensitive operations must require explicit permissions
Cross-view data access must respect security boundaries
Administrative views must have admin category or permissions
Views should support accessibility requirements
Modal dialogs should have proper escape mechanisms
Navigation actions should be keyboard accessible
Critical functions should not depend solely on color or visual cues
Views should support screen reader navigation
View naming should follow consistent patterns
View names should end with 'View' suffix
Related views should use consistent naming prefixes
Window references should use descriptive role names
Navigation action names should be verb-based and descriptive