Skip to content

Interactions Between the RM and EM Models

This page is normative

This page is considered a core part of the Vultron Protocol. This is a normative section of the documentation.

There are additional constraints on how the RM and EM processes interact.

Start Embargo Negotiations As Early as Possible

The EM process MAY begin (i.e., the initial propose transition \(q^{em} \in N \xrightarrow{p} P\)) prior to the report being sent to a potential Participant (\(q^{rm} \in S\))

Why Propose before Reporting?

Beginning an embargo negotiation before providing a report can be useful in cases where a Participant wishes to ensure acceptable embargo terms prior to sharing a report with a potential recipient.

stateDiagram-v2
    direction LR
    state ParticipantSpecific {
        state Sender {
            state RM {
                Accepted
            }
        }
        state Recipient {
            RM2: RM
            state RM2 {
                Start
            }
        }
    }
    state Global {
        state EM {
            None --> Proposed : propose
        }
    }
    Sender --> EM : propose

If it has not already begun, the EM process SHOULD begin when a recipient is in RM Received (\(q^{rm} \in R\)) whenever possible.

stateDiagram-v2
    direction LR
    state RM {
        Received
    }
    state EM {
        None --> Proposed : propose
    }
    RM --> EM : begin if not<br/>already started

Negotiate Embargoes for Active Reports

Embargo Management MAY begin in any of the active RM states (\(q^{rm} \in \{ R,V,A \}\)).

stateDiagram-v2
    direction LR
    state RM {
        Received
        Valid
        Accepted
    }
    state EM {
        None --> Proposed : propose
    }
    RM --> EM : ok to<br/>proceed

Embargo Management SHOULD NOT begin in an inactive RM state (\(q^{rm} \in \{ I,D,C \}\)).

stateDiagram-v2
    direction LR
    state RM {
        Invalid
        Deferred
        Closed
    }
    state EM {
        None --> Proposed : propose
    }
    RM --> EM : avoid

Negotiate Embargoes Through Validation and Prioritization

Embargo Management MAY run in parallel to validation (\(q^{rm} \in \{R,I\} \xrightarrow{\{v,i\}} \{V,I\}\)) and prioritization (\(q^{rm} \in V \xrightarrow{\{a,d\}} \{A,D\}\)) activities.

Renegotiate Embargoes While Reports Are Valid Yet Unclosed

EM revision proposals (\(q^{em} \in A \xrightarrow{p} R\)) and acceptance or rejection of those proposals (\({q^{em} \in R \xrightarrow{\{a,r\}} A}\)) MAY occur during any of the valid yet unclosed RM states (\({q_{rm} \in \{ V,A,D \} }\)).

stateDiagram-v2
    direction LR
    state RM {
        Valid
        Accepted
        Deferred
    }
    state EM {
        Revise --> Active : accept
        Revise --> Active : reject
        Active --> Revise : propose
    }
    RM --> EM : ok to<br/>proceed

Avoid Embargoes for Invalid Reports

Embargo Management SHOULD NOT begin with a proposal from a Participant in RM Invalid (\(q^{rm} \in I\)).

stateDiagram-v2
    direction LR
    state RM {
        Invalid
    }
    state EM {
        None --> Proposed : propose
    }
    RM --> EM : avoid

...but Don't Lose Momentum if Validation Is Pending

Outstanding embargo negotiations (\(q^{em} \in P \xrightarrow{\{r,p\}} \{N,P\}\)) MAY continue in RM Invalid (\(q^{rm} \in I\)) (e.g., if it is anticipated that additional information may be forthcoming to promote the report from Invalid to Valid) (\(q^{rm} \in I \xrightarrow{v} V\)).

stateDiagram-v2
    direction LR
    state RM {
        Invalid --> Valid: (anticipated)
    }
    state EM {
        None --> Propose : propose
    }
    RM --> EM : ok to<br/>proceed

Only Accept Embargoes for Possibly Valid Yet Unclosed Reports

Embargo Management MAY proceed from EM Proposed to EM Accepted (\(q^{em} \in P \xrightarrow{a} A\)) when RM is neither Invalid nor Closed (\(q^{rm} \in \{R,V,A,D\}\)).

stateDiagram-v2
    direction LR
    state RM {
        Start
        Received
        Valid
        Accepted
        Deferred
    }
    state EM {
        Proposed --> Accepted : accept
    }
    RM --> EM : ok to<br/>proceed

Embargo Management SHOULD NOT proceed from EM Proposed to EM Accepted when RM is Invalid or Closed (\(q^{rm} \in \{I,C\}\)).

stateDiagram-v2
    direction LR
    state RM {
        Invalid
        Closed
    }
    state EM {
        Proposed --> Accepted : accept
    }
    RM --> EM : avoid

Embargo Management MAY proceed from EM Proposed to EM None (\(q^{em} \in P \xrightarrow{r} N\)) when RM is Invalid or Closed.

stateDiagram-v2
    direction LR
    state RM {
        Invalid
        Closed
    }
    state EM {
        Proposed --> None : reject
    }
    RM --> EM : ok to<br/>proceed

Report Closure, Deferral, and Active Embargoes

Participants' individual Report Management processes can interact with the Embargo Management process at the case level in a number of ways. We describe these interactions below.

Participants SHOULD NOT close reports (\(q^{rm} \in \{I,D,A\} \xrightarrow{c} C\)) while an embargo is active (\(q^{em} \in \{ A,R \}\)).

stateDiagram-v2
    direction LR
    state RM {
        Invalid --> Closed: close
        Deferred --> Closed: close
        Accepted --> Closed: close
    }
    state EM {
        Active
        Revise
    }
    EM --> RM : avoid

Instead,

Reports with no further tasks SHOULD be held in either Deferred or Invalid (\({q^{rm} \in \{ D,I\}}\)) (depending on the report validity status) until the embargo has terminated (\({q^{em} \in X}\)).

This allows Participants to stop work on a report but still maintain their participation in an extant embargo. Notwithstanding the above,

Participants who choose to close a report (\(q^{rm} \in \{I,D,A\} \xrightarrow{c} C\)) while an embargo remains in force (\(q^{em} \in \{A,R\}\)) SHOULD communicate their intent to either continue to adhere to the embargo or terminate their compliance with it.

Report closure or deferral alone does not terminate an embargo.

A Participant's closure or deferral (\(q^{rm} \in \{C,D\}\)) of a report while an embargo remains active (\(q^{em} \in \{A,R\}\)) and while other Participants remain engaged (\(q^{rm} \in \{R,V,A\}\)) SHALL NOT automatically terminate the embargo.

stateDiagram-v2
    direction LR
state RM {
        Invalid --> Closed: close
        Deferred --> Closed: close
        Accepted --> Closed: close
    }
    state EM {
        Active --> eXited: terminate
        Revise --> eXited: terminate
    }
    RM --> EM : does not imply

It is expected that Participants will continue to adhere to the embargo until it is explicitly terminated. However,

Participants MAY choose to terminate their compliance with an embargo at any time.

While this is usually an undesirable development, it is important that it be clearly communicated to other Participants so that they can make informed decisions about the viability of the extant embargo.

Any changes to a Participant's intention to adhere to an active embargo SHOULD be communicated clearly in addition to any necessary notifications regarding RM or EM state changes.

Upon receipt of a Participant's notification of intent to end their compliance with an embargo, other Participants MAY choose to terminate the embargo.