---
feature_story: FS_90_48_11_45
feature_title: force-assignment from entire type value space
feature_status: TEST
---

TODO: This was written ahead of the implementation - fix description when implemented.
TODO: This feature is actually special case of FS_62_25_92_06/FS_13_51_07_97 where `ArgSource.ExplicitValue` overrides `ArgSource.ImplicitValue`.

When some args narrow down possible selection,
then "incompatible" with that selection value appear on the command line,
it should not be ignored simply because it does not match pre-filtered value set for that next `ArgType`.

For example:

```
some_command goto upstream qa apac |
```

If `upstream` already narrows down the results which exclude `qa`
(e.g. they include `dev` instead), the `arg_value` for `ArgType.CodeMaturity`
should still be forced-assigned to `qa` instead (because it is seen explicitly on the command line).

There should be a metadata indicating how this new (overriding) `qa` value was decided:
*   `ArgSource.ImplicitValue` = value taken from a search result with singled out `data_envelope`.
*   `ArgSource.ExplicitValue` = value taken from an arg matching one of the values.

Note the difference:
*   Such forced value cannot be possibly proposed
    (as it would be filtered out by existing command line args).
*   But it can be manually specified = forced
    (which will make command line useless as is because of zero search results until more changes are done to the line).
