@zh-xx/antu 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +11 -0
  3. package/THIRD-PARTY-NOTICES.md +739 -0
  4. package/assets/viewer.html +1503 -0
  5. package/bin/antu-mcp.mjs +1549 -0
  6. package/bin/antu.mjs +1494 -0
  7. package/examples/agent/fact/1-minimal.en.json +57 -0
  8. package/examples/agent/fact/1-minimal.zh-CN.json +29 -0
  9. package/examples/agent/fact/2-single-actor.en.json +66 -0
  10. package/examples/agent/fact/2-single-actor.zh-CN.json +28 -0
  11. package/examples/agent/fact/3-groups.en.json +34 -0
  12. package/examples/agent/fact/3-groups.zh-CN.json +34 -0
  13. package/examples/agent/fact/4-views.en.json +44 -0
  14. package/examples/agent/fact/4-views.zh-CN.json +44 -0
  15. package/examples/agent/fact/5-duration.en.json +28 -0
  16. package/examples/agent/fact/5-duration.zh-CN.json +28 -0
  17. package/examples/agent/fact/6-sources.en.json +30 -0
  18. package/examples/agent/fact/6-sources.zh-CN.json +30 -0
  19. package/examples/agent/fact/7-undated.en.json +34 -0
  20. package/examples/agent/fact/7-undated.zh-CN.json +34 -0
  21. package/examples/agent/justification/1-minimal.en.json +83 -0
  22. package/examples/agent/justification/1-minimal.zh-CN.json +83 -0
  23. package/examples/agent/justification/2-against-and-rejected.en.json +82 -0
  24. package/examples/agent/justification/2-against-and-rejected.zh-CN.json +82 -0
  25. package/examples/agent/justification/3-issues.en.json +107 -0
  26. package/examples/agent/justification/3-issues.zh-CN.json +107 -0
  27. package/examples/agent/justification/4-shared-fact.en.json +111 -0
  28. package/examples/agent/justification/4-shared-fact.zh-CN.json +111 -0
  29. package/examples/agent/justification/5-sources.en.json +97 -0
  30. package/examples/agent/justification/5-sources.zh-CN.json +97 -0
  31. package/examples/agent/justification/6-all-or-any.en.json +98 -0
  32. package/examples/agent/justification/6-all-or-any.zh-CN.json +98 -0
  33. package/examples/agent/procedure/1-minimal.en.json +15 -0
  34. package/examples/agent/procedure/1-minimal.zh-CN.json +15 -0
  35. package/examples/agent/procedure/2-decision.en.json +17 -0
  36. package/examples/agent/procedure/2-decision.zh-CN.json +17 -0
  37. package/examples/agent/procedure/3-branches.en.json +22 -0
  38. package/examples/agent/procedure/3-branches.zh-CN.json +22 -0
  39. package/examples/agent/procedure/4-stages.en.json +34 -0
  40. package/examples/agent/procedure/4-stages.zh-CN.json +34 -0
  41. package/examples/agent/procedure/5-inferred-spine.en.json +21 -0
  42. package/examples/agent/procedure/5-inferred-spine.zh-CN.json +21 -0
  43. package/examples/agent/procedure/6-merged-edges.en.json +19 -0
  44. package/examples/agent/procedure/6-merged-edges.zh-CN.json +19 -0
  45. package/examples/agent/procedure/7-rules.en.json +30 -0
  46. package/examples/agent/procedure/7-rules.zh-CN.json +30 -0
  47. package/examples/agent/relationship/1-minimal.en.json +28 -0
  48. package/examples/agent/relationship/1-minimal.zh-CN.json +28 -0
  49. package/examples/agent/relationship/2-equity.en.json +59 -0
  50. package/examples/agent/relationship/2-equity.zh-CN.json +59 -0
  51. package/examples/agent/relationship/3-guarantee.en.json +51 -0
  52. package/examples/agent/relationship/3-guarantee.zh-CN.json +51 -0
  53. package/examples/agent/relationship/4-groups.en.json +68 -0
  54. package/examples/agent/relationship/4-groups.zh-CN.json +68 -0
  55. package/examples/agent/relationship/5-kinship.en.json +69 -0
  56. package/examples/agent/relationship/5-kinship.zh-CN.json +69 -0
  57. package/examples/fact/fang-yuan-loan-and-conflict.en.json +330 -0
  58. package/examples/fact/fang-yuan-loan-and-conflict.zh-CN.json +237 -0
  59. package/examples/fact/gym-membership-face-scan.en.json +181 -0
  60. package/examples/fact/gym-membership-face-scan.zh-CN.json +181 -0
  61. package/examples/fact/lin-fang-v-zhao-lei-private-lending.en.json +122 -0
  62. package/examples/fact/lin-fang-v-zhao-lei-private-lending.zh-CN.json +122 -0
  63. package/examples/fact/marketplace-platform-liability.en.json +192 -0
  64. package/examples/fact/marketplace-platform-liability.zh-CN.json +192 -0
  65. package/examples/fact/neighbour-corridor-charging.en.json +201 -0
  66. package/examples/fact/neighbour-corridor-charging.zh-CN.json +201 -0
  67. package/examples/fact/sample-construction-payment.en.json +220 -0
  68. package/examples/fact/sample-construction-payment.zh-CN.json +139 -0
  69. package/examples/fact/sample-four-parties-four-slots.en.json +202 -0
  70. package/examples/fact/sample-four-parties-four-slots.zh-CN.json +121 -0
  71. package/examples/fact/sample-no-groups.en.json +100 -0
  72. package/examples/fact/sample-no-groups.zh-CN.json +100 -0
  73. package/examples/fact/sample-three-slots.en.json +102 -0
  74. package/examples/fact/sample-three-slots.zh-CN.json +102 -0
  75. package/examples/fact/sample-two-actors-one-side.en.json +143 -0
  76. package/examples/fact/sample-two-actors-one-side.zh-CN.json +143 -0
  77. package/examples/fact/sample-two-parties-each-side.en.json +183 -0
  78. package/examples/fact/sample-two-parties-each-side.zh-CN.json +183 -0
  79. package/examples/justification/fang-yuan-defense-excess.en.json +636 -0
  80. package/examples/justification/fang-yuan-defense-excess.zh-CN.json +636 -0
  81. package/examples/justification/neighbour-corridor-liability.en.json +571 -0
  82. package/examples/justification/neighbour-corridor-liability.zh-CN.json +571 -0
  83. package/examples/procedure/01-software-development-contract.en.json +290 -0
  84. package/examples/procedure/01-software-development-contract.zh-CN.json +290 -0
  85. package/examples/procedure/02-purchase-contract.en.json +46 -0
  86. package/examples/procedure/02-purchase-contract.zh-CN.json +46 -0
  87. package/examples/procedure/03-labour-outsourcing-contract.en.json +251 -0
  88. package/examples/procedure/03-labour-outsourcing-contract.zh-CN.json +251 -0
  89. package/examples/procedure/04-non-disclosure-agreement.en.json +79 -0
  90. package/examples/procedure/04-non-disclosure-agreement.zh-CN.json +79 -0
  91. package/examples/procedure/05-premises-lease.en.json +344 -0
  92. package/examples/procedure/05-premises-lease.zh-CN.json +344 -0
  93. package/examples/procedure/06-epc-general-contract.en.json +375 -0
  94. package/examples/procedure/06-epc-general-contract.zh-CN.json +375 -0
  95. package/examples/procedure/07-share-acquisition-agreement.en.json +368 -0
  96. package/examples/procedure/07-share-acquisition-agreement.zh-CN.json +368 -0
  97. package/examples/raw//351/207/207/350/264/255/345/220/210/345/220/214-PO-2026-088.md +31 -0
  98. package/examples/raw//357/274/2102031/357/274/211/347/244/272/345/210/221/345/210/2353/345/217/267-/350/231/232/346/236/204/347/275/221/347/273/234/345/225/206/345/237/216/346/241/210-/344/270/200/345/256/241.md +36 -0
  99. package/examples/raw//357/274/2102031/357/274/211/347/244/272/346/260/221/345/210/2351/345/217/267-/346/260/221/351/227/264/345/200/237/350/264/267/346/241/210-/344/270/200/345/256/241.md +31 -0
  100. package/examples/raw//357/274/2102031/357/274/211/347/244/272/346/260/221/345/210/2352/345/217/267-/345/201/245/350/272/253/346/210/277/345/210/267/350/204/270/345/205/245/345/234/272/346/241/210-/344/270/200/345/256/241.md +40 -0
  101. package/examples/raw//357/274/2102031/357/274/211/347/244/272/346/260/221/347/273/2101/345/217/267-/346/245/274/351/201/223/345/205/205/347/224/265/345/212/235/351/230/273/346/241/210-/344/272/214/345/256/241.md +38 -0
  102. package/examples/raw//357/274/2102032/357/274/211/347/244/272/345/210/221/347/273/2101/345/217/267-/346/226/271/350/277/234/346/241/210-/344/272/214/345/256/241.md +49 -0
  103. package/examples/relationship/fang-yuan-parties.en.json +226 -0
  104. package/examples/relationship/fang-yuan-parties.zh-CN.json +226 -0
  105. package/examples/relationship/lin-fang-v-zhao-lei-parties.en.json +140 -0
  106. package/examples/relationship/lin-fang-v-zhao-lei-parties.zh-CN.json +140 -0
  107. package/examples/relationship/marketplace-parties.en.json +259 -0
  108. package/examples/relationship/marketplace-parties.zh-CN.json +259 -0
  109. package/examples/relationship/sample-group-guarantee.en.json +138 -0
  110. package/examples/relationship/sample-group-guarantee.zh-CN.json +138 -0
  111. package/examples/relationship/sample-loan-guarantee.en.json +122 -0
  112. package/examples/relationship/sample-loan-guarantee.zh-CN.json +122 -0
  113. package/package.json +35 -0
  114. package/server.json +20 -0
  115. package/spec/agent/fact/guide.md +114 -0
  116. package/spec/agent/justification/guide.md +100 -0
  117. package/spec/agent/procedure/guide.md +109 -0
  118. package/spec/agent/relationship/guide.md +92 -0
@@ -0,0 +1,571 @@
1
+ {
2
+ "specVersion": 1,
3
+ "type": "justification",
4
+ "title": "Charging in a corridor (fictional) · Why the appeal court changed the judgment",
5
+ "speaker": "Example City Intermediate People's Court (appeal, fictional)",
6
+ "groups": [
7
+ {
8
+ "id": "g-1",
9
+ "label": "Issue 1: is Sun Hao liable in ordinary tort?"
10
+ },
11
+ {
12
+ "id": "g-2",
13
+ "label": "Issue 2: can the first instance's fairness liability apply?"
14
+ },
15
+ {
16
+ "id": "g-3",
17
+ "label": "Issue 3: Sun Hao did not appeal, so can the appeal court change the judgment?"
18
+ }
19
+ ],
20
+ "nodes": [
21
+ {
22
+ "id": "c-1",
23
+ "kind": "conclusion",
24
+ "label": "Set aside the first-instance judgment and dismiss Qian Min's claim: Sun Hao bears no tort liability",
25
+ "holds": "yes"
26
+ },
27
+ {
28
+ "id": "n-5",
29
+ "kind": "norm",
30
+ "label": "Model Provision D, para. 1, item 2: basis for changing a judgment on appeal",
31
+ "sourceIds": [
32
+ "s-6"
33
+ ]
34
+ },
35
+ {
36
+ "id": "c-2",
37
+ "kind": "conclusion",
38
+ "label": "Sun Hao bears ordinary tort liability (fault liability)",
39
+ "holds": "no",
40
+ "combine": "all",
41
+ "groupId": "g-1"
42
+ },
43
+ {
44
+ "id": "n-1",
45
+ "kind": "norm",
46
+ "label": "Model Provision A: one who through fault infringes another's civil rights bears tort liability",
47
+ "groupId": "g-1",
48
+ "sourceIds": [
49
+ "s-3"
50
+ ]
51
+ },
52
+ {
53
+ "id": "e-1",
54
+ "kind": "element",
55
+ "label": "The objection was improper and went beyond what was necessary",
56
+ "holds": "no",
57
+ "groupId": "g-1"
58
+ },
59
+ {
60
+ "id": "e-2",
61
+ "kind": "element",
62
+ "label": "The objection is legally the cause of Qian Min's heart trouble",
63
+ "holds": "no",
64
+ "groupId": "g-1"
65
+ },
66
+ {
67
+ "id": "e-3",
68
+ "kind": "element",
69
+ "label": "Sun Hao acted intentionally or negligently",
70
+ "holds": "no",
71
+ "groupId": "g-1"
72
+ },
73
+ {
74
+ "id": "j-1",
75
+ "kind": "judgement",
76
+ "label": "Sun Hao's objection was reasoned and calm, did not exceed what was necessary, and was a proper dissuasion",
77
+ "holds": "yes",
78
+ "groupId": "g-1",
79
+ "sourceIds": [
80
+ "s-2"
81
+ ]
82
+ },
83
+ {
84
+ "id": "j-2",
85
+ "kind": "judgement",
86
+ "label": "The objection only came before the attack in time; it is not its legal cause",
87
+ "holds": "yes",
88
+ "groupId": "g-1",
89
+ "sourceIds": [
90
+ "s-2"
91
+ ]
92
+ },
93
+ {
94
+ "id": "j-3",
95
+ "kind": "judgement",
96
+ "label": "Objecting to the charging protects public safety and Sun Hao had no intent to harm Qian Min",
97
+ "holds": "yes",
98
+ "groupId": "g-1",
99
+ "sourceIds": [
100
+ "s-2"
101
+ ]
102
+ },
103
+ {
104
+ "id": "i-1",
105
+ "kind": "inference",
106
+ "label": "Objecting to charging could not in itself cause Qian Min's attack",
107
+ "holds": "yes",
108
+ "groupId": "g-1",
109
+ "sourceIds": [
110
+ "s-2"
111
+ ]
112
+ },
113
+ {
114
+ "id": "i-2",
115
+ "kind": "inference",
116
+ "label": "Sun Hao could not foresee Qian Min's attack and was neither careless nor slack",
117
+ "holds": "yes",
118
+ "groupId": "g-1",
119
+ "sourceIds": [
120
+ "s-2"
121
+ ]
122
+ },
123
+ {
124
+ "id": "f-1",
125
+ "kind": "fact",
126
+ "label": "Corridor video (clock reads 20:14): Qian Min charges a battery in the corridor; after Sun Hao enters, the two begin to talk",
127
+ "date": "2030-06-02",
128
+ "groupId": "g-1",
129
+ "sourceIds": [
130
+ "s-1"
131
+ ]
132
+ },
133
+ {
134
+ "id": "f-2",
135
+ "kind": "fact",
136
+ "label": "The three videos have pictures but no sound; the two only talked, no pulling, no physical contact",
137
+ "date": "2030-06-02",
138
+ "groupId": "g-1",
139
+ "sourceIds": [
140
+ "s-1"
141
+ ]
142
+ },
143
+ {
144
+ "id": "f-3",
145
+ "kind": "fact",
146
+ "label": "Sun Hao stayed even throughout; Qian Min spoke quickly and her voice kept rising",
147
+ "date": "2030-06-02",
148
+ "groupId": "g-1",
149
+ "sourceIds": [
150
+ "s-1"
151
+ ]
152
+ },
153
+ {
154
+ "id": "f-4",
155
+ "kind": "fact",
156
+ "label": "There is no evidence that Sun Hao shouted at Qian Min or did anything improper",
157
+ "groupId": "g-1",
158
+ "sourceIds": [
159
+ "s-2"
160
+ ]
161
+ },
162
+ {
163
+ "id": "f-5",
164
+ "kind": "fact",
165
+ "label": "Sun Hao and Qian Min were in contact for under 5 minutes",
166
+ "date": "2030-06-02",
167
+ "groupId": "g-1",
168
+ "sourceIds": [
169
+ "s-1"
170
+ ]
171
+ },
172
+ {
173
+ "id": "f-6",
174
+ "kind": "fact",
175
+ "label": "Ambulance called at 20:21; crew reaches the patient at 20:27",
176
+ "date": "2030-06-02T20:21",
177
+ "groupId": "g-1",
178
+ "sourceIds": [
179
+ "s-1"
180
+ ]
181
+ },
182
+ {
183
+ "id": "f-7",
184
+ "kind": "fact",
185
+ "label": "Sun Hao had not known Qian Min before and did not know her heart history",
186
+ "groupId": "g-1",
187
+ "sourceIds": [
188
+ "s-2"
189
+ ]
190
+ },
191
+ {
192
+ "id": "f-8",
193
+ "kind": "fact",
194
+ "label": "Once he knew, Sun Hao promptly helped call the ambulance and waited with her",
195
+ "groupId": "g-1",
196
+ "sourceIds": [
197
+ "s-2"
198
+ ]
199
+ },
200
+ {
201
+ "id": "c-3",
202
+ "kind": "conclusion",
203
+ "label": "By fairness Sun Hao should compensate Qian Min 8,000 yuan (what the first instance did)",
204
+ "holds": "no",
205
+ "groupId": "g-2"
206
+ },
207
+ {
208
+ "id": "n-2",
209
+ "kind": "norm",
210
+ "label": "Model Provision B: where neither victim nor actor was at fault, the loss may be shared as the facts require",
211
+ "groupId": "g-2",
212
+ "sourceIds": [
213
+ "s-4"
214
+ ]
215
+ },
216
+ {
217
+ "id": "e-4",
218
+ "kind": "element",
219
+ "label": "The act is legally the cause of the harm, and neither side was at fault",
220
+ "holds": "no",
221
+ "groupId": "g-2"
222
+ },
223
+ {
224
+ "id": "j-4",
225
+ "kind": "judgement",
226
+ "label": "There is no legal causation between the objection and the attack, so the premise of Model Provision B fails",
227
+ "holds": "yes",
228
+ "groupId": "g-2",
229
+ "sourceIds": [
230
+ "s-2"
231
+ ]
232
+ },
233
+ {
234
+ "id": "j-5",
235
+ "kind": "judgement",
236
+ "label": "Applying fairness under Model Provision B to make Sun Hao compensate was an error of law",
237
+ "holds": "yes",
238
+ "groupId": "g-2",
239
+ "sourceIds": [
240
+ "s-2"
241
+ ]
242
+ },
243
+ {
244
+ "id": "f-9",
245
+ "kind": "fact",
246
+ "label": "The first instance ordered Sun Hao to pay Qian Min 8,000 yuan because she had a sudden heart problem after the quarrel",
247
+ "groupId": "g-2",
248
+ "sourceIds": [
249
+ "s-2"
250
+ ]
251
+ },
252
+ {
253
+ "id": "c-4",
254
+ "kind": "conclusion",
255
+ "label": "The appeal court should change the first-instance judgment",
256
+ "holds": "yes",
257
+ "groupId": "g-3"
258
+ },
259
+ {
260
+ "id": "n-3",
261
+ "kind": "norm",
262
+ "label": "Model Provision C: the appeal is heard on the grounds of appeal, unless the judgment breaks a mandatory rule or harms the state, the public interest or others' lawful rights",
263
+ "groupId": "g-3",
264
+ "sourceIds": [
265
+ "s-5"
266
+ ]
267
+ },
268
+ {
269
+ "id": "n-4",
270
+ "kind": "norm",
271
+ "label": "Example City rules: charging e-bike batteries is banned in corridors and other public places and residents may stop it",
272
+ "groupId": "g-3",
273
+ "sourceIds": [
274
+ "s-7"
275
+ ]
276
+ },
277
+ {
278
+ "id": "n-6",
279
+ "kind": "norm",
280
+ "label": "Basic principles and purpose of the civil rules (model): protect the public interest and public order and good morals, promote good social conduct",
281
+ "groupId": "g-3",
282
+ "sourceIds": [
283
+ "s-8"
284
+ ]
285
+ },
286
+ {
287
+ "id": "e-5",
288
+ "kind": "element",
289
+ "label": "The first instance harms the public interest (the exception to the limit of the grounds of appeal)",
290
+ "holds": "yes",
291
+ "groupId": "g-3"
292
+ },
293
+ {
294
+ "id": "j-6",
295
+ "kind": "judgement",
296
+ "label": "Sun Hao's objection to the charging was lawful and proper, and protected fire safety in the building and the public interest",
297
+ "holds": "yes",
298
+ "groupId": "g-3",
299
+ "sourceIds": [
300
+ "s-2"
301
+ ]
302
+ },
303
+ {
304
+ "id": "j-7",
305
+ "kind": "judgement",
306
+ "label": "Making residents who object properly share the loss would deter them from protecting public safety, harm the public interest, and run against the purpose of the rules",
307
+ "holds": "yes",
308
+ "groupId": "g-3",
309
+ "sourceIds": [
310
+ "s-2"
311
+ ]
312
+ },
313
+ {
314
+ "id": "f-10",
315
+ "kind": "fact",
316
+ "label": "Sun Hao did not appeal after the first-instance judgment",
317
+ "groupId": "g-3",
318
+ "sourceIds": [
319
+ "s-2"
320
+ ]
321
+ }
322
+ ],
323
+ "links": [
324
+ {
325
+ "from": "n-5",
326
+ "to": "c-1",
327
+ "stance": "basis"
328
+ },
329
+ {
330
+ "from": "n-1",
331
+ "to": "e-1",
332
+ "stance": "basis"
333
+ },
334
+ {
335
+ "from": "e-1",
336
+ "to": "c-2"
337
+ },
338
+ {
339
+ "from": "n-1",
340
+ "to": "e-2",
341
+ "stance": "basis"
342
+ },
343
+ {
344
+ "from": "e-2",
345
+ "to": "c-2"
346
+ },
347
+ {
348
+ "from": "n-1",
349
+ "to": "e-3",
350
+ "stance": "basis"
351
+ },
352
+ {
353
+ "from": "e-3",
354
+ "to": "c-2"
355
+ },
356
+ {
357
+ "from": "c-2",
358
+ "to": "c-1",
359
+ "stance": "against"
360
+ },
361
+ {
362
+ "from": "f-2",
363
+ "to": "j-1"
364
+ },
365
+ {
366
+ "from": "f-3",
367
+ "to": "j-1"
368
+ },
369
+ {
370
+ "from": "f-4",
371
+ "to": "j-1"
372
+ },
373
+ {
374
+ "from": "j-1",
375
+ "to": "e-1",
376
+ "stance": "against"
377
+ },
378
+ {
379
+ "from": "f-2",
380
+ "to": "i-1"
381
+ },
382
+ {
383
+ "from": "f-3",
384
+ "to": "i-1"
385
+ },
386
+ {
387
+ "from": "f-5",
388
+ "to": "i-1"
389
+ },
390
+ {
391
+ "from": "f-6",
392
+ "to": "i-1"
393
+ },
394
+ {
395
+ "from": "i-1",
396
+ "to": "j-2"
397
+ },
398
+ {
399
+ "from": "j-2",
400
+ "to": "e-2",
401
+ "stance": "against"
402
+ },
403
+ {
404
+ "from": "f-7",
405
+ "to": "i-2"
406
+ },
407
+ {
408
+ "from": "f-8",
409
+ "to": "i-2"
410
+ },
411
+ {
412
+ "from": "i-2",
413
+ "to": "e-3",
414
+ "stance": "against"
415
+ },
416
+ {
417
+ "from": "f-1",
418
+ "to": "j-3"
419
+ },
420
+ {
421
+ "from": "f-7",
422
+ "to": "j-3"
423
+ },
424
+ {
425
+ "from": "j-3",
426
+ "to": "e-3",
427
+ "stance": "against"
428
+ },
429
+ {
430
+ "from": "n-2",
431
+ "to": "e-4",
432
+ "stance": "basis"
433
+ },
434
+ {
435
+ "from": "e-4",
436
+ "to": "c-3"
437
+ },
438
+ {
439
+ "from": "j-4",
440
+ "to": "e-4",
441
+ "stance": "against"
442
+ },
443
+ {
444
+ "from": "j-5",
445
+ "to": "c-3",
446
+ "stance": "against"
447
+ },
448
+ {
449
+ "from": "f-9",
450
+ "to": "c-3"
451
+ },
452
+ {
453
+ "from": "c-3",
454
+ "to": "c-1",
455
+ "stance": "against"
456
+ },
457
+ {
458
+ "from": "n-3",
459
+ "to": "e-5",
460
+ "stance": "basis"
461
+ },
462
+ {
463
+ "from": "n-4",
464
+ "to": "j-6",
465
+ "stance": "basis"
466
+ },
467
+ {
468
+ "from": "n-6",
469
+ "to": "j-7",
470
+ "stance": "basis"
471
+ },
472
+ {
473
+ "from": "j-6",
474
+ "to": "j-7"
475
+ },
476
+ {
477
+ "from": "j-7",
478
+ "to": "e-5"
479
+ },
480
+ {
481
+ "from": "e-5",
482
+ "to": "c-4"
483
+ },
484
+ {
485
+ "from": "f-10",
486
+ "to": "c-4",
487
+ "stance": "against",
488
+ "label": "Not within the scope of the appeal"
489
+ },
490
+ {
491
+ "from": "c-4",
492
+ "to": "c-1"
493
+ }
494
+ ],
495
+ "sources": [
496
+ {
497
+ "id": "s-1",
498
+ "type": "case",
499
+ "name": "(2031) Shi Min Zhong No. 1 · facts found by this court",
500
+ "loc": {
501
+ "caseNo": "(2031) Shi Min Zhong No. 1",
502
+ "court": "Example City Intermediate People's Court, Example Province"
503
+ }
504
+ },
505
+ {
506
+ "id": "s-2",
507
+ "type": "case",
508
+ "name": "(2031) Shi Min Zhong No. 1 · this court's opinion",
509
+ "loc": {
510
+ "caseNo": "(2031) Shi Min Zhong No. 1",
511
+ "court": "Example City Intermediate People's Court, Example Province"
512
+ }
513
+ },
514
+ {
515
+ "id": "s-3",
516
+ "type": "statute",
517
+ "name": "Model Provision A",
518
+ "loc": {
519
+ "lawName": "Model Act (fictional)",
520
+ "article": 1,
521
+ "version": "model edition"
522
+ }
523
+ },
524
+ {
525
+ "id": "s-4",
526
+ "type": "statute",
527
+ "name": "Model Provision B",
528
+ "loc": {
529
+ "lawName": "Model Act (fictional)",
530
+ "article": 2,
531
+ "version": "model edition"
532
+ }
533
+ },
534
+ {
535
+ "id": "s-5",
536
+ "type": "statute",
537
+ "name": "Model Provision C",
538
+ "loc": {
539
+ "lawName": "Model Act (fictional)",
540
+ "article": 3,
541
+ "version": "model edition"
542
+ }
543
+ },
544
+ {
545
+ "id": "s-6",
546
+ "type": "statute",
547
+ "name": "Model Provision D",
548
+ "loc": {
549
+ "lawName": "Model Act (fictional)",
550
+ "article": 4,
551
+ "version": "model edition"
552
+ }
553
+ },
554
+ {
555
+ "id": "s-7",
556
+ "type": "other",
557
+ "name": "Example City rules (charging e-bike batteries banned in corridors and other public places)",
558
+ "loc": {
559
+ "note": "The judgment says only \"under the Example City rules\" and does not give their name or article"
560
+ }
561
+ },
562
+ {
563
+ "id": "s-8",
564
+ "type": "other",
565
+ "name": "Basic principles and purpose of the civil rules (model)",
566
+ "loc": {
567
+ "note": "The judgment gives no specific article"
568
+ }
569
+ }
570
+ ]
571
+ }