Cannot load configuration when tailf:cli-sequence-commands is being used

Hello,

I am facing an issue in which an exported configuration is not loaded when I try to import it.

I have traced the issue to the fact that saving exports an element that uses tailf:cli-sequence-commands into two separate lines. The description of tailf:cli-sequence-commands states that the command should only accept arguments in the same order as they are specified in the YANG model.

For example, let’s assume the following example.

tailf:annotate-statement grouping[name='feature'] {
        tailf:alt-name 'alt-feature-name';
        tailf:info "Feature description";
        tailf:annotate-statement container[name='feature-1'] {
            tailf:info "Description of feature-1";
            tailf:cli-sequence-commands;
            tailf:cli-compact-syntax;
            tailf:cli-incomplete-command;
            tailf:cli-full-no;
            tailf:annotate-statement container[name='param-a'] {
                tailf:alt-name 'param-a';
                tailf:info "Configure param-a";
                tailf:cli-sequence-commands;
                tailf:cli-compact-syntax;
                tailf:cli-flatten-container;
                tailf:cli-incomplete-command;
                tailf:annotate-statement leaf[name='something-a'] {
                    tailf:cli-drop-node-name;
                    tailf:cli-incomplete-command;
                }
                tailf:annotate-statement leaf[name='something-b'] {
                    tailf:cli-drop-node-name;
                }
            }
            tailf:annotate-statement container[name='param-b'] {
                tailf:alt-name 'param-b';
                tailf:info "Configure param-b";
                tailf:cli-sequence-commands;
                tailf:cli-compact-syntax;
                tailf:cli-incomplete-command;
                tailf:annotate-statement leaf[name='somethin-c'] {
                    tailf:cli-drop-node-name;
                    tailf:cli-incomplete-command;
                }
                tailf:annotate-statement leaf[name='something-d'] {
                    tailf:cli-drop-node-name;
                }
            }
        }
        tailf:annotate-statement container[name='feature-2'] {
            tailf:info "Description of feature-2";
            tailf:cli-compact-syntax;
            tailf:cli-incomplete-command;
            tailf:cli-full-no;
            tailf:annotate-statement container[name='param-a'] {
                tailf:alt-name 'param-a';
                tailf:info "Configure param-a";
                tailf:cli-sequence-commands;
                tailf:cli-compact-syntax;
                tailf:cli-flatten-container;
                tailf:cli-incomplete-command;
                tailf:annotate-statement leaf[name='something-a'] {
                    tailf:cli-drop-node-name;
                    tailf:cli-incomplete-command;
                }
                tailf:annotate-statement leaf[name='something-b'] {
                    tailf:cli-drop-node-name;
                }
            }
            tailf:annotate-statement container[name='param-b'] {
                tailf:alt-name 'param-b';
                tailf:info "Configure param-b";
                tailf:cli-sequence-commands;
                tailf:cli-compact-syntax;
                tailf:cli-incomplete-command;
                tailf:annotate-statement leaf[name='something-c'] {
                    tailf:cli-drop-node-name;
                    tailf:cli-incomplete-command;
                }
                tailf:annotate-statement leaf[name='something-d'] {
                    tailf:cli-drop-node-name;
                }
            }
        }
    }
}

What gets exported, when I use the save confd command, is something like this:
alt-feature-name feature-1 param-a valueA valueB
alt-feature-name feature-1 param-b valueC valueD

But from the description of tailf:cli-sequence-commands, I would expect something like the following:
alt-feature-name feature-1 param-a valueA valueB param-b valueC valueD

If I do not use tailf:cli-sequence-commands(like in the case of feature-2) the exported configuration is being loaded without any errors since the arguments are not expected to follow the order in which they are specified in the YANG model.

So my question is, why is the configuration getting exported into two lines making param-b invalid when I try to import it? Shouldn’t tailf:cli-sequence-commands make sure that the resulting configuration would be a valid one, meaning that param-b would always follow param-a on a single command?

I forgot to mention that the ConfD version used is 7.7.10.