Cross-artifact Patterns
Real BDL systems are usually composed from multiple related artifacts rather than isolated definitions.
This page describes safe composition patterns without inventing undocumented reference shapes or runtime bindings.
Composition principle
Each artifact should have a clear responsibility and stable identity.
Relationships between artifacts should use structures documented by the active BDL baseline.
Do not connect artifacts by guessing native identifiers, internal object IDs, field IDs, workflow activity IDs, or runtime values.
Common composition patterns
Entity and form
An entity defines data structure and domain identity.
A form provides an interaction surface for that entity.
The form should reference the intended entity through the supported BDL reference structure rather than by fabricated native metadata.
Entity and report
A report may read data associated with one or more entities.
Resolve the source entity and required fields from authoritative metadata before defining report columns, filters, grouping, or parameters.
Entity, form, and workflow
A workflow may use forms to collect or review data associated with an entity.
Do not assume that a form can be attached to a workflow activity merely because both artifact kinds exist.
Check the runtime and authoring capability for the exact linkage.
Workflow, rule, and command
Rules may govern workflow decisions.
Commands may expose explicit operations used by users or workflow surfaces.
Keep each responsibility separate unless the active baseline explicitly defines a combined structure.
Permission and navigation
Permissions and menu or navigation artifacts may control who can access a page, form, report, or command.
Do not assume that authoring availability for one artifact automatically implies authoring availability for all related access-control artifacts.
Page and group
Pages and groups are first-class artifact kinds in the active knowledge baseline.
Their presence in the language model does not automatically imply that every create, update, rename, move, or delete operation is available in the current authoring surface.
Dependency ordering
When several artifacts depend on each other, create and validate them in dependency order.
A typical safe sequence is:
- Resolve existing native metadata.
- Define foundational entities or references.
- Validate foundational artifacts.
- Define dependent forms, reports, pages, or workflows.
- Add rules, commands, permissions, and navigation.
- Validate again before execution.
- Post-verify the resulting native state.
Reference discipline
Use stable BDL codes for authored objects when supported.
Use authoritative native identifiers only when they have been resolved from live metadata or trusted deployment context.
Never convert captions into assumed internal identifiers.
Avoid hidden coupling
Do not rely on undocumented side effects such as:
- A form being auto-linked to an entity
- A report automatically inheriting permissions
- A workflow automatically discovering a start form
- A command automatically appearing in navigation
- A page automatically resolving a group
If a relationship matters, it should be explicitly represented using supported BDL structures or explicitly resolved by runtime metadata.
Validation pattern
For multi-artifact definitions, validate both individual artifacts and cross-artifact references.
The validation pipeline should detect unresolved references, unsupported authoring operations, and capability mismatches before mutation.
Recommended pattern
Compose the smallest coherent group of artifacts that represents one feature.
Validate it, inspect diagnostics, then extend the feature incrementally.
This is safer than generating an entire subsystem with many unverified cross-references in one step.
Next
The next page defines AI-safe authoring patterns for generating BDL definitions.