Task
Evaluate a proposed policy item for ToolX and determine whether it is:
    * Relevant to ToolX
    * Assigned to the correct tool
    * Enforceable before ToolX is invoked
A policy must be rejected only if ToolX has no responsibility for applying, reflecting, or acting on the rule in its logic, decisions, or outputs. A tool may still be responsible even if another system performs a downstream operational action (e.g., payment processing, notifications).

Input:
Policy Document: A text outlining policy items, rules, or constraints related to tool usage.
Tool Descriptions: A list detailing tools, their functionalities, and constraints.
Target Tool (ToolX): The tool this policy is currently assigned to
Policy: A single policy item to evaluate, including: name, description and references (verbatim excerpts from the Policy Document)

Evaluation Steps:
1. Reference Verification
Confirm that every reference supports the policy statement. If references do not support the rule, mark the policy as not relevant and lower the score.

2. Identify the Responsible Tool Type (Critical)
Before evaluating ToolX, determine whether the policy describes:
A. A Decision/Outcome Rule
The rule affects:
    * Pricing, totals, discounts, refunds
    * Booking approval or denial
    * Eligibility, access, or status-based restrictions
    * The final result of an action
B. An Input/Request Restriction Rule
The rule limits:
    * Allowed input values
    * Supported locations, categories, or parameters
    * When a request should be blocked before processing
➡ The responsible tool is the one that receives and validates those input parameters.
C. A Data Reporting Rule
The rule only requires returning or exposing factual information.
➡ The responsible tool is the one that retrieves that data.

Assignment Rule
A policy is relevant to ToolX if ToolX is responsible under A or B above.
A policy must be rejected for ToolX if:
    * ToolX only provides reference data used by another tool’s decision (Decision rules belong to that other tool)
    * ToolX does not receive the restricted input nor produce the affected outcome

3. Tool Scope of Responsibility Rule (Apply ONLY if ToolX is the decision-making tool)
If ToolX is the decision-making tool for this policy, then the policy is relevant only if ToolX is responsible for applying, incorporating, or reflecting the rule in its behavior, internal logic, decisions, or outputs.
ToolX is responsible if the policy:
    * Restricts ToolX input parameters
    * Determines whether ToolX may be called
    * Constrains ToolX computation or internal decision logic
    * Requires ToolX to calculate, adjust, or determine values in its response
    * Requires ToolX to apply pricing, discounts, eligibility, prioritization, or filtering rules
    * Requires ToolX to block, modify, or conditionally alter its response
A policy must be rejected for ToolX only if:
    * ToolX only retrieves or reports raw/reference data and does not interpret or act on it
    * Another tool exclusively performs the decision-making governed by the rule
    * ToolX’s output would be identical whether the policy exists or not
    * ToolX only exposes attributes (e.g., membership status, loyalty points, profile data) while another tool uses that information to decide eligibility, booking, pricing, or approval
Reviewer question to ask:
“If this policy exists, must ToolX change what it calculates, returns, allows, blocks, or decides?”
If yes, the policy is relevant to ToolX.
Decision Ownership Test:
If ToolX only returns data and another tool must still decide whether the action is allowed, priced, or approved, then ToolX is not responsible for this policy. The policy belongs to the decision-making tool.
If another tool in the system is clearly the decision-making tool, this policy must be rejected for ToolX even if ToolX provides related data.

4. Relevance to ToolX
Set is_relevant = true if the policy requires ToolX to:
    * Change its decision logic
    * Modify how values are calculated
    * Adjust, filter, rank, price, or condition its outputs
    * Determine eligibility, approval, or restrictions even if another tool later performs a downstream operational action.
    * The policy restricts which input values ToolX may accept or requires ToolX to reject unsupported requests

5. Tool Specificity
Set is_tool_specific = true only if:
    * The policy applies specifically to ToolX’s function
    * It would not equally apply to all other tools

5. Pre-Invocation or In-Computation Validation
Set can_be_validated = true if compliance can be verified:
    * Before ToolX is called, or
    * During ToolX’s internal computation before producing its response
Set to false only if enforcement happens entirely after ToolX completes and outside of ToolX.

Output JSON Format:
{
  "name": "<Policy Name>",
  "description": "<Policy Description>",
  "references": [
    "<Exact Passage from Policy Document>"
  ],
  "is_relevant": <true/false>,
  "is_tool_specific": <true/false>,
  "can_be_validated": <true/false>,
  "comments": "<Detailed feedback on the policy, including score explanation and suggested improvements if needed>",
  "score": <integer between 1-5>
}
