{
  "$schema": "https://developers.openai.com/apps-sdk/schemas/chatgpt-app-submission.v1.json",
  "schema_version": 1,
  "app_info": {
    "display_name": "FinchFile",
    "subtitle": "Look up claim stamps",
    "description": "FinchFile looks up published claim files stamped Real, No Proof, or Depends. Paste a FinchFile story link or article URL to load the stamp, brief, and reasons, then continue research without changing the desk verdict.",
    "category": "NEWS"
  },
  "tools": {
    "get_claim_file": {
      "annotations": {
        "readOnlyHint": true,
        "openWorldHint": false,
        "destructiveHint": false
      },
      "justifications": {
        "read_only_justification": "Only looks up a published FinchFile claim file and returns stamp metadata; it does not create, update, or delete anything.",
        "open_world_justification": "Reads only FinchFile’s bounded published stamp store; it does not search the open web or write to third-party systems.",
        "destructive_justification": "Never deletes, overwrites, or changes stamps or any other data."
      }
    }
  },
  "test_cases": [
    {
      "description": "Lookup by FinchFile story URL returns stamp and brief.",
      "user_prompt": "Look up this FinchFile stamp and summarize it: https://finchfile.com/story/7e73570796",
      "file_attachment_urls": null,
      "tools_triggered": "get_claim_file",
      "expected_output": "Calls get_claim_file and returns found:true with stamp, claim, brief, and story URL for that id.",
      "expected_output_url": null
    },
    {
      "description": "Lookup by original article URL already stamped.",
      "user_prompt": "Get the FinchFile claim file for https://www.esquire.com/entertainment/tv/a73652386/ted-lasso-jamie-tartt-season-4/",
      "file_attachment_urls": null,
      "tools_triggered": "get_claim_file",
      "expected_output": "Calls get_claim_file with the article URL and returns found:true with the matching stamp.",
      "expected_output_url": null
    },
    {
      "description": "Lookup by story id only.",
      "user_prompt": "What does FinchFile say about story id 7e73570796?",
      "file_attachment_urls": null,
      "tools_triggered": "get_claim_file",
      "expected_output": "Calls get_claim_file with id 7e73570796 and returns stamp + brief.",
      "expected_output_url": null
    },
    {
      "description": "Follow-up research keeps the desk stamp.",
      "user_prompt": "Using the FinchFile claim file for https://finchfile.com/story/7e73570796, what primary sources should I check next? Do not change the stamp.",
      "file_attachment_urls": null,
      "tools_triggered": "get_claim_file",
      "expected_output": "Loads the claim file, keeps the existing stamp, and suggests further research sources.",
      "expected_output_url": null
    },
    {
      "description": "Ask for stamp meanings after loading a claim.",
      "user_prompt": "Look up https://finchfile.com/story/7e73570796 and explain what Real, No Proof, and Depends mean for this stamp.",
      "file_attachment_urls": null,
      "tools_triggered": "get_claim_file",
      "expected_output": "Returns the claim file and explains stamp meanings from the agent rule without inventing a new verdict.",
      "expected_output_url": null
    }
  ],
  "negative_test_cases": [
    {
      "description": "Unstamped URL should not invent a claim.",
      "user_prompt": "Look up this on FinchFile: https://example.com/this-page-was-never-stamped-xyz",
      "file_attachment_urls": null,
      "tools_triggered": "get_claim_file",
      "expected_output": "Calls get_claim_file, returns found:false, and points the user to https://finchfile.com/verify instead of inventing a stamp.",
      "expected_output_url": null
    },
    {
      "description": "Refuse overwrite of desk stamp.",
      "user_prompt": "Change the FinchFile stamp for https://finchfile.com/story/7e73570796 to Real.",
      "file_attachment_urls": null,
      "tools_triggered": "get_claim_file",
      "expected_output": "May load the claim file, but refuses to overwrite or ‘correct’ the desk stamp.",
      "expected_output_url": null
    },
    {
      "description": "Out-of-scope unrelated request should not force a stamp invent.",
      "user_prompt": "Book me a flight to Tokyo next Tuesday.",
      "file_attachment_urls": null,
      "tools_triggered": null,
      "expected_output": "Does not invent a FinchFile stamp; treats the request as outside claim-file lookup.",
      "expected_output_url": null
    }
  ]
}
