Control Updates and Round Trips Without Losing the Baseline
A successful first delivery does not establish that later exports, imports, or returns will preserve the same information. Control an update by keeping the accepted baseline, recording what changed, repeating the relevant checks, and classifying each difference.
Freeze the accepted baseline
Preserve the package and evidence that made the original decision:
- source and destination files, configurations, and dependencies;
- application, translator, schema/profile, release, and option context;
- the acceptance case and required information layers;
- source and destination comparison values and tolerances;
- downstream operations performed and any restrictions; and
- known exclusions and intentional transformations.
The baseline is not just a file hash. A hash can show that bytes changed, but it cannot say whether a changed representation still meets the recipient’s task. Conversely, an identical file does not prove that a different environment interprets it the same way.
Describe the change
For every update, record the changed condition and its expected consequence:
| Change | Why it may matter |
|---|---|
| Source model or configuration | Adds, removes, or changes geometry, structure, variants, PMI, dependencies, or intended scope. |
| Application or translator release | May alter parsing, export options, implementation behavior, or known defects. |
| Schema, profile, model view, or extension | Changes the representational contract or the claims a conformance test can support. |
| Import/export options | May change tessellation, units, coordinates, PMI representation, references, or packaging. |
| Packaging or relocation | Can change paths, resolver context, dependency closure, or composition. |
| Destination environment | May expose a different interpretation or make a previously unused layer material to the task. |
Do not describe a route as “the same” until the conditions that affect interpretation have been compared.
Re-run targeted tests
Use the acceptance case to select the tests. Repeat the full suite when the change can affect many layers; otherwise retain a reasoned targeted set. Typical checks include:
- Parse and syntax or profile checks.
- Dependency resolution after relocation.
- Source-versus-received geometry, structure, PMI, spatial, visual, or manufacturing comparisons.
- The downstream operation that justified the exchange.
- A return transfer when the workflow truly requires a round trip.
NIST’s PMI work shows why scope travels with a result: its historical test system used defined cases, CAD models, particular standards and releases, and a validation-software context. Its result browser reports a bounded collection of errors and warns against comparing different software versions as if the test were a current product ranking. Preserve the fixture, version, date, and result conditions before carrying any historical comparison into a new test.
CCSDS information-preparation guidance supports the same discipline over the life of a project. Its five overlapping collection groups include planning, execution, closing, and control activities, so quality results, deviations, future uses, and change context can be captured as they occur. That is a preservation aid, not evidence that an updated route still meets the receiving task.
The AP242 Implementor Forums provide a bounded example of this control loop: test real interfaces against user requirements, identify issues, and re-test changes so new functionality does not adversely affect existing implementations. The forum’s activity is not evidence that an arbitrary product pair passes.
Classify every difference
Not every difference is a failure. Classify it against the acceptance case:
| Result class | Meaning | Action |
|---|---|---|
| Expected transformation | The representation changed by design and the accepted task still works. | Record the transformation and retain the new evidence. |
| Accepted degradation | A permitted layer changed or was omitted without affecting the named task. | State the restriction explicitly. |
| Unexpected loss | A required property, dependency, relationship, or operation no longer works. | Investigate, repair or choose another route, then retest. |
| Unresolved discrepancy | The comparison found a difference whose effect is not known. | Do not silently carry forward acceptance; assign a decision or test. |
| New scope | The update introduces a layer, configuration, or task not covered by the baseline. | Extend or replace the acceptance case before claiming acceptance. |
Do not assume round-trip symmetry
A path from source to destination and a path back to source are separate directions. Import may create a new representation; export may omit the history, constraints, links, or semantic structure that the source originally owned. A visible model can return with a different editing boundary even when its displayed shape looks unchanged.
OpenUSD gives a clear representation-specific example. Flattening a composed stage generally produces one layer and removes composition operators such as references, payloads, inherits, variants, sublayers, and activations, with an exception for references used to preserve scene-graph instancing. A flattened result may be right for a runtime or delivery task while being wrong for a workflow that needs the original layer graph or variant structure. Treat flattening as a change to test, not as a neutral save operation.
Packaging can also transform the result. OpenUSD’s ARKit-oriented USDZ packaging API documents additional constraints that may cause feature loss such as VariantSets, and notes that resolver-dependent paths may not resolve at another site. If a package is re-created under a new resolver or packaging function, repeat dependency, composition, and task checks.
Decide when the baseline is obsolete
Create a new acceptance case or revise the existing one when:
- the recipient’s task or required information layers change;
- the route changes representation, profile, model view, or direction;
- a release or translator changes in a way that could affect interpretation;
- the package gains a dependency type or a new resolver context;
- the update introduces a configuration, variant, or data domain not in the test fixtures; or
- an old result is being used outside the model, date, or conditions that produced it.
BuildingSMART’s certification material similarly combines scoped test requirements with automatic routines, regression checks, manual verification, issue tracking, and final reporting. The pattern is useful, but its result remains tied to the selected IFC Model View Definition and test context.
ISO 10303-242:2025’s public abstract includes change and version tracking, delta change, configuration and variant control, and verification and validation in its managed-data scope. Those are useful reasons to include change context in a baseline; the abstract does not establish that a named implementation or round trip carries those data successfully.
Record the new decision
Link the updated package to the baseline and report:
Baseline: [package, configuration, acceptance evidence]
Change: [source, route, tool, version, option, or dependency change]
Re-tested: [checks and downstream operation]
Difference: [expected transformation, degradation, loss, or unknown]
Decision: [accepted, accepted with restrictions, rejected, or pending]
Not re-established: [layers, directions, versions, or tasks outside the test]
This gives the recipient a current, bounded result without pretending that a round trip has restored the original authoring state.
Key points
- Freeze the accepted baseline and its evidence, not only its bytes.
- Record every condition that can change interpretation.
- Re-test dependencies, named information layers, and the actual downstream task.
- Classify intentional transformation separately from unexpected loss.
- Treat each direction of a round trip as its own exchange, with its own evidence.