{
  "product": "regfeed",
  "displayName": "RegFeed",
  "classification": "PUBLIC SYNTHETIC DATA ONLY",
  "execution": "Recorded actual local gateway/engine results; no external calls/network/database or private credential use",
  "localStatus": "Passed",
  "localCalls": 5,
  "operationsCovered": 5,
  "tools": [
    "regfeed_defineSource",
    "regfeed_ingestChange",
    "regfeed_defineSubscription",
    "regfeed_match",
    "regfeed_assessImpact"
  ],
  "claudeFormalHostSelfTest": "Not established by these local fixtures",
  "openaiFormalHostSelfTest": "Not established by these local fixtures",
  "limitation": "Local source metadata, supplied changes/subscriptions, matching and impact rules; no crawling, live-law verification or external contact.",
  "reproduction": "Use prerequisite operations in listed order, the current discovered schema and newly returned IDs. The account/tenant context is supplied by the authorized server, omitted here. Local result IDs are examples from one isolated run. These records are not production data or a production-host test.",
  "cases": [
    {
      "tool": "regfeed_defineSource",
      "arguments": [
        {
          "name": "SYNTHETIC regulator",
          "kind": "OTHER",
          "jurisdictions": [
            {
              "code": "KR",
              "name": "Synthetic KR"
            }
          ]
        }
      ],
      "expected": "polling BLOCKED; source id",
      "actual": {
        "source": {
          "id": "src_d62742e2-5487-4fcb-b8d7-0130e473591a",
          "name": "SYNTHETIC regulator",
          "kind": "OTHER",
          "jurisdictions": [
            {
              "code": "KR",
              "name": "Synthetic KR"
            }
          ],
          "createdAt": "2026-10-19T02:42:48.000Z"
        },
        "polling": "BLOCKED",
        "blockedReason": "규제기관(RSS/웹) 폴링은 외부 네트워크 연동 필요 — 스캐폴드에서는 수동 인제스트(ingest_change)만 지원."
      },
      "dependencies": [],
      "localStatus": "Passed"
    },
    {
      "tool": "regfeed_ingestChange",
      "arguments": [
        {
          "sourceId": "src_d62742e2-5487-4fcb-b8d7-0130e473591a",
          "title": "SYNTHETIC payments change",
          "jurisCode": "KR",
          "applyFrom": "2026-10-19T00:00:00.000Z",
          "impact": "HIGH",
          "keywords": [
            "payments"
          ],
          "tags": [
            "demo"
          ]
        }
      ],
      "expected": "requirementsVerified true",
      "actual": {
        "change": {
          "id": "chg_4c747050-2b67-44ab-8901-bf93dceb6ec8",
          "sourceId": "src_d62742e2-5487-4fcb-b8d7-0130e473591a",
          "title": "SYNTHETIC payments change",
          "jurisCode": "KR",
          "applyFrom": "2026-10-19T00:00:00.000Z",
          "impact": "HIGH",
          "keywords": [
            "payments"
          ],
          "tags": [
            "demo"
          ],
          "ingestedAt": "2026-10-19T02:42:48.000Z"
        },
        "requirementsVerified": true
      },
      "dependencies": [],
      "localStatus": "Passed"
    },
    {
      "tool": "regfeed_defineSubscription",
      "arguments": [
        {
          "scope": {
            "vertical": "payments",
            "region": [
              "KR"
            ],
            "timing": "ANY",
            "keywords": [
              "payments"
            ],
            "tags": [
              "demo"
            ]
          }
        }
      ],
      "expected": "subscription scope preserved",
      "actual": {
        "subscription": {
          "id": "sub_de7103a8-9c00-46d0-bf73-9c5db1e50abd",
          "scope": {
            "vertical": "payments",
            "region": [
              "KR"
            ],
            "timing": "ANY",
            "keywords": [
              "payments"
            ],
            "tags": [
              "demo"
            ]
          },
          "createdAt": "2026-10-19T02:42:48.000Z"
        }
      },
      "dependencies": [],
      "localStatus": "Passed"
    },
    {
      "tool": "regfeed_match",
      "arguments": [
        {
          "changeId": "chg_4c747050-2b67-44ab-8901-bf93dceb6ec8",
          "subscriptions": [
            {
              "id": "sub_de7103a8-9c00-46d0-bf73-9c5db1e50abd",
              "scope": {
                "vertical": "payments",
                "region": [
                  "KR"
                ],
                "timing": "ANY",
                "keywords": [
                  "payments"
                ],
                "tags": [
                  "demo"
                ]
              },
              "createdAt": "2026-10-19T02:42:48.000Z"
            }
          ]
        }
      ],
      "expected": "one matching notification",
      "actual": {
        "changeId": "chg_4c747050-2b67-44ab-8901-bf93dceb6ec8",
        "notifications": [
          {
            "id": "ntf_d7f38f6e-53ea-4cf7-ad88-385ff1a4cd25",
            "subscriptionId": "sub_de7103a8-9c00-46d0-bf73-9c5db1e50abd",
            "changeId": "chg_4c747050-2b67-44ab-8901-bf93dceb6ec8",
            "score": {
              "score": 55,
              "keywordsHit": [
                "payments"
              ],
              "tagsHit": [
                "demo"
              ],
              "regionMatched": true,
              "timingMatched": true
            },
            "priority": "HIGH",
            "narrative": "[LLM 설명 전용] chg_4c747050-2b67-44ab-8901-bf93dceb6ec8 \"SYNTHETIC payments change\" (KR, 영향도 HIGH) — 관련성 55, 우선순위 HIGH"
          }
        ]
      },
      "dependencies": [],
      "localStatus": "Passed"
    },
    {
      "tool": "regfeed_assessImpact",
      "arguments": [
        {
          "changeId": "chg_4c747050-2b67-44ab-8901-bf93dceb6ec8",
          "change": {
            "id": "chg_4c747050-2b67-44ab-8901-bf93dceb6ec8",
            "sourceId": "src_d62742e2-5487-4fcb-b8d7-0130e473591a",
            "title": "SYNTHETIC payments change",
            "jurisCode": "KR",
            "applyFrom": "2026-10-19T00:00:00.000Z",
            "impact": "HIGH",
            "keywords": [
              "payments"
            ],
            "tags": [
              "demo"
            ],
            "ingestedAt": "2026-10-19T02:42:48.000Z"
          },
          "subscriptions": [
            {
              "id": "sub_de7103a8-9c00-46d0-bf73-9c5db1e50abd",
              "scope": {
                "vertical": "payments",
                "region": [
                  "KR"
                ],
                "timing": "ANY",
                "keywords": [
                  "payments"
                ],
                "tags": [
                  "demo"
                ]
              },
              "createdAt": "2026-10-19T02:42:48.000Z"
            }
          ]
        }
      ],
      "expected": "one impacted target",
      "actual": {
        "changeId": "chg_4c747050-2b67-44ab-8901-bf93dceb6ec8",
        "impactedTargets": [
          {
            "targetId": "tgt_f79bc354-ccf1-434f-ae98-46969df347aa",
            "targetLabel": "payments @ KR",
            "subscriptionId": "sub_de7103a8-9c00-46d0-bf73-9c5db1e50abd",
            "changeId": "chg_4c747050-2b67-44ab-8901-bf93dceb6ec8",
            "relevanceScore": 55,
            "impactLevel": "HIGH",
            "timingNote": "시행일 도래(오늘)",
            "actionHint": "[LLM 설명 전용] chg_4c747050-2b67-44ab-8901-bf93dceb6ec8 에 대해 payments 워크플로에 HIGH 대응 검토 필요"
          }
        ]
      },
      "dependencies": [],
      "localStatus": "Passed"
    }
  ],
  "hostConversationCases": {
    "positive": [
      {
        "prompt": "Using the supplied synthetic fixture inputs, register a supplied regulatory source definition. Explain the returned evidence and limits.",
        "tools_triggered": "regfeed_defineSource",
        "expected_behavior": "regfeed_defineSource: polling BLOCKED; source id"
      },
      {
        "prompt": "Using the supplied synthetic fixture inputs, record a supplied regulatory change. Explain the returned evidence and limits.",
        "tools_triggered": "regfeed_ingestChange",
        "expected_behavior": "regfeed_ingestChange: requirementsVerified true"
      },
      {
        "prompt": "Using the supplied synthetic fixture inputs, define local regulatory relevance filters. Explain the returned evidence and limits.",
        "tools_triggered": "regfeed_defineSubscription",
        "expected_behavior": "regfeed_defineSubscription: subscription scope preserved"
      },
      {
        "prompt": "Using the supplied synthetic fixture inputs, match a recorded change to subscriptions. Explain the returned evidence and limits.",
        "tools_triggered": "regfeed_match",
        "expected_behavior": "regfeed_match: one matching notification"
      },
      {
        "prompt": "Using the supplied synthetic fixture inputs, estimate supplied regulatory change relevance. Explain the returned evidence and limits.",
        "tools_triggered": "regfeed_assessImpact",
        "expected_behavior": "regfeed_assessImpact: one impacted target"
      }
    ],
    "negative": [
      {
        "prompt": "Fetch the latest law from the government website now."
      },
      {
        "prompt": "Email every subscriber the change notification."
      },
      {
        "prompt": "Give a binding legal opinion that my business is compliant."
      }
    ]
  },
  "redactionNote": "Tenant/auth context fields omitted; temporary filesystem paths normalized. Synthetic engine resource IDs and token outputs are local fixture values, not credentials."
}
