Found in the review of #738 (#731). For these four types, running unchanged describe output as create or modify silently loses Studio Pro-authored content. Examples come from the Studio Pro-authored ako/TestApp; the BSON diffs are in #738 (comment).
- Workflow (
workflow.Workflow1_2):
- EventSubProcesses are dropped entirely.
- Outcome Flows are dropped.
- Activity names are re-spelled (
start1 → Start).
- External entity (
Clients.Orders):
- Each attribute's
Rest$ODataMappedValue becomes a DomainModels$StoredValue, so the OData mapping is lost.
- Attribute
$IDs are re-minted.
- DateTime
LocalizeDate is dropped.
- OData client (
Clients.OrderODataClient):
UseQuerySegment changes from true to false.
- ApplicationId, EndpointId, CatalogUrl, Icon, the proxy settings, ErrorHandlingMicroflow and HeaderListMicroflow are dropped.
- OData service (
MyFirstModule.CarOdataApi):
- EntitySet PageSize changes from 10000 to 0, because describe prints PageSize only with UsePaging.
- ExportLevel is dropped.
Until each rewrite carries what describe cannot print, describe keeps emitting a plain create for these four types. That is a safe refusal on an existing document (ADR-0012: carry or refuse). #738 pins this behaviour with tests.
Scope
- Add ako/TestApp as a git submodule (decided by the maintainer). Extend
mdl/roundtrip to cover it, including workflow, OData and external-entity mappings in unitKeywords. With the submodule uninitialised, the test skips with a clear message. PedApp has none of these four types, so the harness cannot see these losses today.
- Carry the content for each type, or refuse it: make each rewrite carry the listed properties, or refuse with a clear error when it cannot.
- Switch the verb to
create or modify for each type only after its round trip passes.
Found in the review of #738 (#731). For these four types, running unchanged
describeoutput ascreate or modifysilently loses Studio Pro-authored content. Examples come from the Studio Pro-authored ako/TestApp; the BSON diffs are in #738 (comment).workflow.Workflow1_2):start1→Start).Clients.Orders):Rest$ODataMappedValuebecomes aDomainModels$StoredValue, so the OData mapping is lost.$IDs are re-minted.LocalizeDateis dropped.Clients.OrderODataClient):UseQuerySegmentchanges from true to false.MyFirstModule.CarOdataApi):Until each rewrite carries what
describecannot print,describekeeps emitting a plaincreatefor these four types. That is a safe refusal on an existing document (ADR-0012: carry or refuse). #738 pins this behaviour with tests.Scope
mdl/roundtripto cover it, including workflow, OData and external-entity mappings inunitKeywords. With the submodule uninitialised, the test skips with a clear message. PedApp has none of these four types, so the harness cannot see these losses today.create or modifyfor each type only after its round trip passes.