Ported from validate_app_component_integrity_for_staged_commit: rejects a
commit whose resulting GroupContext strips or rewrites Marmot component
state outside the validated AppDataUpdate channel.
Enforced rules, in order (mirrors the MDK rustdoc numbering):
the app_data_dictionary extension itself may never be dropped if it was
present before;
the app_components id (0x0001) and every id in the CURRENT epoch's
required-component-id list may never be dropped;
every dictionary entry that changes relative to the current epoch —
added, rewritten, or removed — must match one of this commit's own
AppDataUpdate operations.
Ported from
validate_app_component_integrity_for_staged_commit: rejects a commit whose resulting GroupContext strips or rewrites Marmot component state outside the validatedAppDataUpdatechannel.Enforced rules, in order (mirrors the MDK rustdoc numbering):
app_data_dictionaryextension itself may never be dropped if it was present before;app_componentsid (0x0001) and every id in the CURRENT epoch's required-component-id list may never be dropped;AppDataUpdateoperations.