---
feature_story: FS_13_51_07_97
feature_title: singled out implicit values
feature_status: TEST
---

# Detect implicit values

When `FuncTreeInterp` interrogates user for `data_envelope` it should skip those `prop_name`-s,
which `prop_value`-s are already singled out within current `args_context`
(and can be implied marking them as `ValueSource.implicit_value`).

Initial idea / example:
When `data_envelope` of `ServiceEnvelopeClass.class_cluster` is found,
it has its `prop_name`-s with assigned `prop_value`-s ("coordinates"):
*   `code_maturity`
*   `flow_stage`
*   `geo_region`
*   `cluster_name`

This feature `FS_13_51_07_97` to assign singled out values from search results for the current `data_envelope`:

There is no point to interrogate `arg_name` if it already has `arg_value` singled out by
currently found `data_envelope` set (all `data_envelope`-s in the set have the same `prop_value` for that `prop_name`).

All `prop_name`-s in `args_context` which have its `prop_value`-s singled out
should be marked with `ValueSource.implicit_value` for current `data_envelope`.

# Update implicit assignment by explicit assignment

If implicit `arg_value` matches `prop_value` which is already assigned as `ValueSource.implicit_value`,
it should be re-assigned as one of the explicit `ValueSource.*`.

Note that the assigned `prop_value` does not change, only its `ValueSource` is changed.
