{"typed_entities_and_identifiers":[{"name":"Framework","identifier_status":"source_supported","fields":[{"name":"framework_id (e.g. 'FW-A', 'FW-B')","type":"string","source_units":["F01","F04","F06"]},{"name":"new_competition_threshold_eur (EUR 80,000; strict 'exceeds')","type":"decimal (EUR)","source_units":["F01","F02"]}],"source_units":["F01","F02","F06"]},{"name":"CallOff / Request (e.g. 'Q' on FW-A, 'Z' on FW-B)","identifier_status":"source_supported","fields":[{"name":"request_id","type":"string","source_units":["F05","F06"]},{"name":"framework_id","type":"string (reference to Framework)","source_units":["F04","F05","F06"]},{"name":"quarter","type":"calendar quarter (source states only 'current')","source_units":["F01","F04","F05"]},{"name":"net_value_eur","type":"decimal (EUR, net)","source_units":["F04","F05"]},{"name":"cancelled_net_amount_eur","type":"decimal (EUR, net); full cancellation counts the call-off as zero, partial cancellation removes only this amount","source_units":["F03","F05"]}],"source_units":["F03","F04","F05","F06"]},{"name":"FrameworkQuarterCumulativeValue (derived aggregate; name and structure are a proposed design choice)","identifier_status":"proposed_design","fields":[{"name":"framework_id","type":"string","source_units":["F01"]},{"name":"calendar_quarter","type":"calendar quarter","source_units":["F01"]},{"name":"cumulative_net_value_eur","type":"decimal (EUR) = sum of (net_value_eur - cancelled_net_amount_eur) over call-offs of that framework in that quarter","source_units":["F01","F03"]}],"source_units":["F01","F03"]},{"name":"OrderMergeRule","identifier_status":"not_established","fields":[{"name":"merge_rule","type":"not specified (records explicitly provide no rule)","source_units":["F06"]}],"source_units":["F06"]}],"decision_predicates":[{"id":"P_NET_CONTRIBUTION","decision":"new_competition_from_amount_threshold","actor":"not specified","scope":"Each call-off of the framework in the current calendar quarter","condition":"Contribution of a call-off to the cumulative value = its net value minus any cancelled net amount; a fully cancelled call-off contributes zero","units":"EUR (net)","comparison":"not applicable (computation rule)","source_units":["F03"]},{"id":"P_THRESHOLD_EXCEEDED","decision":"new_competition_from_amount_threshold","actor":"not specified","scope":"Call-offs under framework FW-A, cumulative net value in the current calendar quarter","condition":"cumulative_net_value_eur (including the request, after cancellation adjustments) > 80000; a value exactly equal to 80000 does not trigger","units":"EUR (net)","comparison":"strictly greater than 80000 (> 80000; = 80000 is false)","source_units":["F01","F02","F03"]},{"id":"P_MERGE_RULE","decision":"automatic_order_merge","actor":"not specified","scope":"Merging call-offs into a single order","condition":"No source rule exists for merging call-offs into a single order; condition cannot be evaluated","units":"not applicable","comparison":"not applicable","source_units":["F06"]}],"process_transitions":[{"from_state":"call_off_request_recorded","to_state":"new_competition_required","event":"threshold_evaluation","guard":"P_THRESHOLD_EXCEEDED is true (cumulative FW-A current-quarter net value computed per P_NET_CONTRIBUTION is > EUR 80,000)","predicate_ids":["P_NET_CONTRIBUTION","P_THRESHOLD_EXCEEDED"],"source_units":["F01","F03"]},{"from_state":"call_off_request_recorded","to_state":"new_competition_not_triggered_by_threshold","event":"threshold_evaluation","guard":"P_THRESHOLD_EXCEEDED is false (cumulative value <= EUR 80,000, including exactly EUR 80,000). This state does not imply any other prerequisite or approval is satisfied.","predicate_ids":["P_NET_CONTRIBUTION","P_THRESHOLD_EXCEEDED"],"source_units":["F01","F02","F03"]},{"from_state":"call_off_request_recorded","to_state":"merge_decision_not_established","event":"merge_evaluation","guard":"P_MERGE_RULE: no source merge rule exists; no automatic merge transition can be specified","predicate_ids":["P_MERGE_RULE"],"source_units":["F06"]}],"scenario_decisions":[{"decision":"new_competition_from_amount_threshold","disposition":"not_required","predicate_ids":["P_NET_CONTRIBUTION","P_THRESHOLD_EXCEEDED"],"source_units":["F01","F02","F03","F04","F05"],"rationale":"FW-A current quarter: existing uncancelled call-offs EUR 30,000 + EUR 40,000 (F04) plus request Q EUR 10,000 net, none cancelled (F05) = EUR 80,000. F01 requires the value to exceed EUR 80,000 and F02 states a value exactly equal to EUR 80,000 does not trigger a new competition, so the amount-threshold rule does not require a new competition. Closure assumption: the two recorded call-offs in F04 are taken as the complete set of FW-A call-offs in the current quarter before Q; request Z is on FW-B (F06) and excluded. This is limited to the named amount-threshold rule and does not establish that any other prerequisite or approval is satisfied."},{"decision":"automatic_order_merge","disposition":"not_established","predicate_ids":["P_MERGE_RULE"],"source_units":["F06"],"rationale":"F06 states the records do not specify a rule for merging call-offs into a single order. Absence of a rule is not a prohibition nor a permission, so automatic merging is neither required, permitted nor prohibited on the sources."}],"unresolved_questions":["Is the ledger in F04 the complete set of FW-A call-offs for the current quarter (the threshold result depends on this closure assumption; any additional uncancelled value would make the total exceed EUR 80,000)?","Which actor performs the threshold evaluation and who decides or approves a new competition? Not specified.","What process follows once a new competition is required (states, timing, authority)? Not specified.","How is 'current calendar quarter' assigned to a call-off (e.g. order date, approval date)? Not specified.","Is there any rule for merging call-offs into a single order, automatic or otherwise? F06 states none is specified.","Are there other prerequisites for issuing call-off Q beyond the amount-threshold rule? Not addressed; none can be inferred satisfied."]}