)]}'
{
  "commit": "c10fd2a481240cbdbc5ed900128ac651c7e9aea0",
  "tree": "74a6e42b7939291a62f99229498428b4122aae41",
  "parents": [
    "624585d23aea8790eca33483c30c3c94a528834a"
  ],
  "author": {
    "name": "Eason Chen",
    "email": "qqeasonchen@gmail.com",
    "time": "Wed Sep 23 16:58:05 2026 +0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Sep 23 16:58:05 2026 +0800"
  },
  "message": "[ISSUE #5411] Serve the legacy SDK gRPC protocol on the v2 runtime (port 10205 bridge) + connector plugin tests 23/23 (#5412)\n\n* [ISSUE #5411] Serve the legacy SDK gRPC protocol on the v2 runtime (port 10205 bridge)\n\nEventMeshGrpcServer binds PublisherService/ConsumerService/HeartbeatService on\neventmesh.grpc.port (opt-in, 0/-1 \u003d off) and maps every call onto the v2\nUniIngressService pipeline (WAL at-least-once, shared retry/DLQ):\n- publish/batchPublish/publishOneWay/batchPublishOneWay -\u003e ingress.publish (topic \u003d subject)\n- requestReply -\u003e ingress.request with the legacy TTL attribute\n- webhook subscribe -\u003e WebHookChannel target; CLUSTERING-\u003eLOAD_BALANCE, BROADCASTING-\u003eBROADCAST\n- subscribeStream (bidi) -\u003e GrpcStreamChannel push target, ACKs ride back on the stream\n- heartbeat -\u003e GrpcClientRegistry TTL refresh + reaper unsubscribes stale clients\nGrpcCloudEventMapper holds the proto\u003c-\u003ev2 CloudEvent mapping + legacy Response envelope.\nruleGrpcProtocolHidden grants the sanctioned runtime.grpc.. adapter (TCP-rule precedent).\n\n* [ISSUE #5411] gRPC bridge tests: hermetic mapping unit tests + real-SDK integration\n\nGrpcCloudEventMapperTest covers every proto attribute flavor + the 3-key response\nenvelope. GrpcLegacyBridgeIntegrationTest boots the bridge over the in-memory\nstorage and drives it with the real EventMeshGrpcProducer/Consumer (the SDK as its\nown conformance suite): publish, batch publish, stream subscription round-trip.\n\n* Add unit tests for the remaining 19 connector plugins (23/23 coverage)\n\nHermetic where possible: webhook sinks (dingtalk/http/knative/lark/slack/wechat/\nwecom/chatgpt) verified against a local capturing HTTP server; mcp (JSON-RPC\nenvelope), openfunction (Ce-* context headers), prometheus (single merged push),\nspring (EventForwarder contract) exercised with their exact wire contracts;\nwebhook sources (10 plugins) POST their native callback payloads through the\nlazy-bound hook port; prometheus/spring sources cover scrape + buffer drains;\nexternal-client plugins (canal/jdbc/mongodb/rabbitmq/redis/s3/pravega) get\ncontract-level tests (init config-parse where lazy, commit no-op) since their\nbackends cannot boot in CI. Closes the \"4 of 23 plugins carry the only unit\ntests\" gap tracked under the #5296 review.\n\n* [ISSUE #5411] docs: legacy gRPC bridge served (opt-in); Connector Runtime test status\n\nconfiguration.md flips eventmesh.grpc.port from RESERVED to served (opt-in, 1.x\ndefault 10205); protocols.md gains the legacy-gRPC mapping table section; both\nREADMEs note the served bridge and update the Connector Runtime row to 23/23\nplugin test coverage (drops the stale \"4 of 23\" wording).\n\n* docs: make the Connector Runtime GA-criteria cell concrete\n\nReplace the vague \"GA criteria tracked under the #5296 architecture review\"\nwording with the actual remaining GA blockers: per-plugin real-backend\nintegration tests and the connector-runtime HA story. Also reference #5412\nfor the 23/23 unit-test coverage.\n\n* docs: refresh remaining cross-references for the #5411 bridge and 23/23 tests\n\n- deployment.md: connector-runtime status drops the stale \"only 4 of 23\n  plugins carry unit tests\" (now 23/23 since #5412; real-backend ITs stay\n  the GA gate)\n- architecture/overview.md: protocol-status bullet + legacy-SDK paragraph\n  mention the served opt-in gRPC bridge; Key-classes table gains the\n  EventMeshGrpcServer entry\n- quickstart/getting-started.md: port list mentions the opt-in 10205\n  legacy gRPC bridge",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7efd4d1503958e0041e91531acab1dd2ca7dc2cf",
      "old_mode": 33188,
      "old_path": "README.md",
      "new_id": "bf6dd662fc4c8cfa1387bca8ae138295908a58d0",
      "new_mode": 33188,
      "new_path": "README.md"
    },
    {
      "type": "modify",
      "old_id": "15e498f8d2a9ccf15a08af6367df718bca707202",
      "old_mode": 33188,
      "old_path": "README.zh-CN.md",
      "new_id": "b2da17d4d59c5972b70c50296faebe3d557c93d2",
      "new_mode": 33188,
      "new_path": "README.zh-CN.md"
    },
    {
      "type": "modify",
      "old_id": "16a01288ea31afd59e5f12b76d4588eecbd25870",
      "old_mode": 33188,
      "old_path": "docs/architecture/overview.md",
      "new_id": "e37bb500992b9e2c5d6128ccc9af82947690c91b",
      "new_mode": 33188,
      "new_path": "docs/architecture/overview.md"
    },
    {
      "type": "modify",
      "old_id": "1e364e27849d49ab2e817d1e5a02e4415ebc0180",
      "old_mode": 33188,
      "old_path": "docs/feature/deployment.md",
      "new_id": "344abdad8ec35b861d087f7e6f2e1e7fa9fa31f1",
      "new_mode": 33188,
      "new_path": "docs/feature/deployment.md"
    },
    {
      "type": "modify",
      "old_id": "20fb1c7a4064a2e49f826070e862edc84e16120d",
      "old_mode": 33188,
      "old_path": "docs/feature/protocols.md",
      "new_id": "b880520dcd31552cd49ea3f686d4f49f1c3e67ca",
      "new_mode": 33188,
      "new_path": "docs/feature/protocols.md"
    },
    {
      "type": "modify",
      "old_id": "4e5f017f65cba920e9a916e4748d5154dc2815ac",
      "old_mode": 33188,
      "old_path": "docs/quickstart/configuration.md",
      "new_id": "796f8791889b0d5ed732048e56c0c9d6f77aa820",
      "new_mode": 33188,
      "new_path": "docs/quickstart/configuration.md"
    },
    {
      "type": "modify",
      "old_id": "9413b201c6f15562848df46c223457788169d2fd",
      "old_mode": 33188,
      "old_path": "docs/quickstart/getting-started.md",
      "new_id": "76d3886923e616a9947dccd750c979e1c9e7f64a",
      "new_mode": 33188,
      "new_path": "docs/quickstart/getting-started.md"
    },
    {
      "type": "modify",
      "old_id": "2968b99d757066de518fee96d8c9db875ae1b2da",
      "old_mode": 33188,
      "old_path": "eventmesh-architecture-guard/src/main/java/org/apache/eventmesh/architecture/guard/ArchitectureRules.java",
      "new_id": "53f9657c51ffbaff22fc94b146079d78fe52372c",
      "new_mode": 33188,
      "new_path": "eventmesh-architecture-guard/src/main/java/org/apache/eventmesh/architecture/guard/ArchitectureRules.java"
    },
    {
      "type": "modify",
      "old_id": "210f7e60713627d571cec8a303ea48ddfd842d31",
      "old_mode": 33188,
      "old_path": "eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/grpc/package-info.java",
      "new_id": "bc4672a5240a08d6179e794e437836593a8d5485",
      "new_mode": 33188,
      "new_path": "eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/grpc/package-info.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4ec45836f7509ac02ec8ce7626a2dca7243d1bd8",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-canal/src/test/java/org/apache/eventmesh/connector/canal/sink/CanalSinkConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1f7138488fe5f1a74a8c6355c9cbc6a42160e0de",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-canal/src/test/java/org/apache/eventmesh/connector/canal/source/CanalSourceConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "62ce4cbe452a0b49a3145ff53e3b28a0027b287a",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-chatgpt/src/test/java/org/apache/eventmesh/connector/chatgpt/sink/ChatgptSinkConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b2a835cdfad3b3693fb3c4ad274cb19e99e22b81",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-chatgpt/src/test/java/org/apache/eventmesh/connector/chatgpt/source/ChatgptSourceConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "99b178437a79bf7688a29e8dff18ffd4ea76bb15",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-dingtalk/src/test/java/org/apache/eventmesh/connector/dingtalk/sink/DingtalkSinkConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "071134ad8557fbe4c3db12094b727dba3f59b4e4",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-dingtalk/src/test/java/org/apache/eventmesh/connector/dingtalk/source/DingtalkSourceConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a92b6974de45a9392837b5184299055e661f2c5b",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-http/src/test/java/org/apache/eventmesh/connector/http/sink/HttpSinkConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a46c8cb9a2716d0db303507a094e7414d2327cb5",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-http/src/test/java/org/apache/eventmesh/connector/http/source/HttpSourceConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "31e34c00ad46c95b934ff60b7880343c76bc5973",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-jdbc/src/test/java/org/apache/eventmesh/connector/jdbc/sink/JdbcSinkConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bf9c90b0c5fd1bcaf04ab3c86428423986d961ec",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-jdbc/src/test/java/org/apache/eventmesh/connector/jdbc/source/JdbcSourceConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "df2cf31ed67c482f2969e1207c61d2f6d7025547",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-knative/src/test/java/org/apache/eventmesh/connector/knative/sink/KnativeSinkConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5f46bf78f74fb834be93cf73d8d575a600021e87",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-knative/src/test/java/org/apache/eventmesh/connector/knative/source/KnativeSourceConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4220be9fca42db8a7a154562ac8de51360e98029",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-lark/src/test/java/org/apache/eventmesh/connector/lark/sink/LarkSinkConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "107f0148ab316f40f78a850450a9d3919bc5ee46",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-lark/src/test/java/org/apache/eventmesh/connector/lark/source/LarkSourceConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "80611b196f7ce65ef38749d0181c75acb9227dac",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-mcp/src/test/java/org/apache/eventmesh/connector/mcp/sink/McpSinkConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d4eb395a387f0567192885f53d6d1d8570adcb6f",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-mcp/src/test/java/org/apache/eventmesh/connector/mcp/source/McpSourceConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "17b94938dfa9e13cd51f32e97cadd2a7a5b57600",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-mongodb/src/test/java/org/apache/eventmesh/connector/mongodb/sink/MongodbSinkConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7a51cb2010ceb1cfe90dfaad571465d45a70517c",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-mongodb/src/test/java/org/apache/eventmesh/connector/mongodb/source/MongodbSourceConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cc05539b23240cccfd3f0aef9f1d923384037f8d",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-openfunction/src/test/java/org/apache/eventmesh/connector/openfunction/sink/OpenfunctionSinkConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5a6929f089992567d101535e737521a6cdf0e2af",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-openfunction/src/test/java/org/apache/eventmesh/connector/openfunction/source/OpenfunctionSourceConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8fe6e91ffd1b99c6d2fda2bdc5e9d5ac3cf6c302",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-pravega/src/test/java/org/apache/eventmesh/connector/pravega/sink/PravegaSinkConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "89d4ae60d6fe99bf0c790f4710a553a5022d59b6",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-pravega/src/test/java/org/apache/eventmesh/connector/pravega/source/PravegaSourceConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4a76efed47509e8a30f3e7cf074b65a7d4a5ccb0",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-prometheus/src/test/java/org/apache/eventmesh/connector/prometheus/sink/PrometheusSinkConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "369eceaacb60041e3db7ed4a801e117075a7db40",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-prometheus/src/test/java/org/apache/eventmesh/connector/prometheus/source/PrometheusSourceConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7ecf7c1583b9c0c8e7ff7c1e612ab6aabbe4613a",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-rabbitmq/src/test/java/org/apache/eventmesh/connector/rabbitmq/sink/RabbitmqSinkConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bc984bde2a33c00979bead690ba9e2841de0f7ae",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-rabbitmq/src/test/java/org/apache/eventmesh/connector/rabbitmq/source/RabbitmqSourceConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0f7dee0ae4d7356d52cf19cbc027ef033bb5e271",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-redis/src/test/java/org/apache/eventmesh/connector/redis/sink/RedisSinkConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d8f8df04f7d73d6e3d239e9ba1dfdcf8707dd742",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-redis/src/test/java/org/apache/eventmesh/connector/redis/source/RedisSourceConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "60ad9aef9f22b806d98859e484588d660347a512",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-s3/src/test/java/org/apache/eventmesh/connector/s3/sink/S3SinkConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c5140c3c0d8b9d261f2708bd43cbb42d698ad23f",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-s3/src/test/java/org/apache/eventmesh/connector/s3/source/S3SourceConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "28691e964ddc75207577b79030dd205c4924a381",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-slack/src/test/java/org/apache/eventmesh/connector/slack/sink/SlackSinkConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0f056e2229d9e894842e2a1db8701b3a63377045",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-slack/src/test/java/org/apache/eventmesh/connector/slack/source/SlackSourceConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "094728152b2544e5d79fa1fdfaac1a8e1429cae9",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-spring/src/test/java/org/apache/eventmesh/connector/spring/sink/SpringSinkConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e6dc1c5d022be1bf31d5a49f125923e158fa20f8",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-spring/src/test/java/org/apache/eventmesh/connector/spring/source/SpringSourceConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d4b25b6acfc527d8512eaef1636d1077adb18f52",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-wechat/src/test/java/org/apache/eventmesh/connector/wechat/sink/WechatSinkConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0d074ea7e3b7d0185658aa520cf8cd53f9e255cf",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-wechat/src/test/java/org/apache/eventmesh/connector/wechat/source/WechatSourceConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e9753cfea1b633e4fb6741d2380b79cbfe6a619f",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-wecom/src/test/java/org/apache/eventmesh/connector/wecom/sink/WecomSinkConnectorTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a2f47a0e3661934ab94ddaea609b0f2a6e1d2387",
      "new_mode": 33188,
      "new_path": "eventmesh-connector-plugin/eventmesh-connector-wecom/src/test/java/org/apache/eventmesh/connector/wecom/source/WecomSourceConnectorTest.java"
    },
    {
      "type": "modify",
      "old_id": "3e01b5eecb7d4e2da5bb6d374a75c9587a8db4c4",
      "old_mode": 33188,
      "old_path": "eventmesh-runtime/build.gradle",
      "new_id": "bc8c4173e5e71409a01574ff908e2dc6cb3372d6",
      "new_mode": 33188,
      "new_path": "eventmesh-runtime/build.gradle"
    },
    {
      "type": "modify",
      "old_id": "a864ebdd1e7287ddcad9f214e32f3da15ea6c37a",
      "old_mode": 33188,
      "old_path": "eventmesh-runtime/conf/eventmesh.properties",
      "new_id": "85c96f1e5bd521cc6f4c66d6b3468e2d2b186c3b",
      "new_mode": 33188,
      "new_path": "eventmesh-runtime/conf/eventmesh.properties"
    },
    {
      "type": "modify",
      "old_id": "781d9b5459d5f6c5863d2115d8afce47229aba26",
      "old_mode": 33188,
      "old_path": "eventmesh-runtime/src/main/java/org/apache/eventmesh/runtime/boot/EventMeshApplication.java",
      "new_id": "9f88b7359c848b84c571b44735fb15fe7623c0e1",
      "new_mode": 33188,
      "new_path": "eventmesh-runtime/src/main/java/org/apache/eventmesh/runtime/boot/EventMeshApplication.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "93561be218a05b82776aeccf785187ef5ce59f52",
      "new_mode": 33188,
      "new_path": "eventmesh-runtime/src/main/java/org/apache/eventmesh/runtime/grpc/EventMeshGrpcServer.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bdc58e491c434b950d134f6068972916bbc8b91b",
      "new_mode": 33188,
      "new_path": "eventmesh-runtime/src/main/java/org/apache/eventmesh/runtime/grpc/GrpcClientRegistry.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b7ce4f5b0879e436c76b16e32943a868be9551ce",
      "new_mode": 33188,
      "new_path": "eventmesh-runtime/src/main/java/org/apache/eventmesh/runtime/grpc/GrpcCloudEventMapper.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "734c314780f44c2d268c19dd70abd1d327709d40",
      "new_mode": 33188,
      "new_path": "eventmesh-runtime/src/main/java/org/apache/eventmesh/runtime/grpc/GrpcStreamChannel.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cb7d3f3757ace6c495b9baa32111777db911544b",
      "new_mode": 33188,
      "new_path": "eventmesh-runtime/src/test/java/org/apache/eventmesh/runtime/grpc/GrpcCloudEventMapperTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cab9bea55253041d3e94b9971138c91f7aac259c",
      "new_mode": 33188,
      "new_path": "eventmesh-runtime/src/test/java/org/apache/eventmesh/runtime/grpc/GrpcLegacyBridgeIntegrationTest.java"
    }
  ]
}
