@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,636 @@
1
+ {
2
+ "specVersion": 1,
3
+ "type": "justification",
4
+ "title": "The Fang Yuan case (fictional) · the reasoning on excessive defence",
5
+ "speaker": "Example Higher People's Court (appeal, fictional)",
6
+ "groups": [
7
+ {
8
+ "id": "g-1",
9
+ "label": "Issue 1: was the stabbing defensive?"
10
+ },
11
+ {
12
+ "id": "g-2",
13
+ "label": "Issue 2: was it special defence?"
14
+ },
15
+ {
16
+ "id": "g-3",
17
+ "label": "Issue 3: did it clearly exceed the necessary limit?"
18
+ },
19
+ {
20
+ "id": "g-4",
21
+ "label": "Issue 4: which offence?"
22
+ },
23
+ {
24
+ "id": "g-5",
25
+ "label": "Issue 5: sentence"
26
+ }
27
+ ],
28
+ "nodes": [
29
+ {
30
+ "id": "c-1",
31
+ "kind": "conclusion",
32
+ "label": "Excessive defence; guilty of intentional injury; four years' imprisonment",
33
+ "holds": "yes"
34
+ },
35
+ {
36
+ "id": "c-2",
37
+ "kind": "conclusion",
38
+ "label": "Fang Yuan's stabbing was defensive",
39
+ "holds": "yes",
40
+ "combine": "all",
41
+ "groupId": "g-1"
42
+ },
43
+ {
44
+ "id": "n-1",
45
+ "kind": "norm",
46
+ "label": "Model Provision A(1): lawful defence needs five conditions together (the limit is issue 3)",
47
+ "groupId": "g-1",
48
+ "sourceIds": [
49
+ "s-3"
50
+ ]
51
+ },
52
+ {
53
+ "id": "e-1",
54
+ "kind": "element",
55
+ "label": "Cause: an unlawful attack exists",
56
+ "holds": "yes",
57
+ "groupId": "g-1"
58
+ },
59
+ {
60
+ "id": "e-2",
61
+ "kind": "element",
62
+ "label": "Time: the attack is under way",
63
+ "holds": "yes",
64
+ "groupId": "g-1"
65
+ },
66
+ {
67
+ "id": "e-3",
68
+ "kind": "element",
69
+ "label": "Target: the attacker himself",
70
+ "holds": "yes",
71
+ "groupId": "g-1"
72
+ },
73
+ {
74
+ "id": "e-4",
75
+ "kind": "element",
76
+ "label": "Purpose: to stop the attack",
77
+ "holds": "yes",
78
+ "groupId": "g-1"
79
+ },
80
+ {
81
+ "id": "f-1",
82
+ "kind": "fact",
83
+ "label": "Jiang and others entered the reception room to press for payment and took Liang's and Fang's phones",
84
+ "date": "2032-04-14T21:53",
85
+ "groupId": "g-1",
86
+ "sourceIds": [
87
+ "s-1"
88
+ ]
89
+ },
90
+ {
91
+ "id": "f-2",
92
+ "kind": "fact",
93
+ "label": "Jiang abused Liang, Fang and their family, flicked a cigarette end onto Liang's chest, pulled his trousers down and exposed himself, and took off Fang's shoe for Liang to smell",
94
+ "date": "2032-04-14",
95
+ "groupId": "g-1",
96
+ "sourceIds": [
97
+ "s-1"
98
+ ]
99
+ },
100
+ {
101
+ "id": "f-3",
102
+ "kind": "fact",
103
+ "label": "Jiang slapped Fang's face; the others pulled Fang's hair and pressed his shoulders to keep him seated",
104
+ "date": "2032-04-14",
105
+ "groupId": "g-1",
106
+ "sourceIds": [
107
+ "s-1"
108
+ ]
109
+ },
110
+ {
111
+ "id": "f-4",
112
+ "kind": "fact",
113
+ "label": "Zhong abused Liang and pushed her to the ground and stood on her arm",
114
+ "date": "2032-04-13",
115
+ "groupId": "g-1",
116
+ "sourceIds": [
117
+ "s-1"
118
+ ]
119
+ },
120
+ {
121
+ "id": "f-5",
122
+ "kind": "fact",
123
+ "label": "Earlier, Zhong and Zheng had people camp in the Yuanhua Company shed and cook outside its office to press for payment",
124
+ "groupId": "g-1",
125
+ "sourceIds": [
126
+ "s-1"
127
+ ]
128
+ },
129
+ {
130
+ "id": "f-6",
131
+ "kind": "fact",
132
+ "label": "The police officer warned both sides not to fight, then left the room with his aides to look for the caller",
133
+ "date": "2032-04-14T22:22",
134
+ "groupId": "g-1",
135
+ "sourceIds": [
136
+ "s-1"
137
+ ]
138
+ },
139
+ {
140
+ "id": "f-7",
141
+ "kind": "fact",
142
+ "label": "Fang and Liang tried to leave with the police; Jiang and others blocked them and forced Fang to sit",
143
+ "date": "2032-04-14",
144
+ "groupId": "g-1",
145
+ "sourceIds": [
146
+ "s-1"
147
+ ]
148
+ },
149
+ {
150
+ "id": "f-8",
151
+ "kind": "fact",
152
+ "label": "Jiang and others gripped Fang's neck and pushed and pulled him to the south-east corner of the room",
153
+ "date": "2032-04-14",
154
+ "groupId": "g-1",
155
+ "sourceIds": [
156
+ "s-1"
157
+ ]
158
+ },
159
+ {
160
+ "id": "f-9",
161
+ "kind": "fact",
162
+ "label": "Fang held a 12 cm fruit knife and warned Jiang and others to keep back; Jiang taunted him and came closer",
163
+ "date": "2032-04-14",
164
+ "groupId": "g-1",
165
+ "sourceIds": [
166
+ "s-1"
167
+ ]
168
+ },
169
+ {
170
+ "id": "f-10",
171
+ "kind": "fact",
172
+ "label": "Fang stabbed Jiang in the abdomen, then Cheng in the chest, Yan in the abdomen and Meng in the back, one stab each",
173
+ "date": "2032-04-14",
174
+ "groupId": "g-1",
175
+ "sourceIds": [
176
+ "s-1"
177
+ ]
178
+ },
179
+ {
180
+ "id": "c-3",
181
+ "kind": "conclusion",
182
+ "label": "It was special defence: no criminal liability",
183
+ "holds": "no",
184
+ "groupId": "g-2"
185
+ },
186
+ {
187
+ "id": "n-2",
188
+ "kind": "norm",
189
+ "label": "Model Provision A(3): defence against violent crime gravely endangering the person (assault, murder, robbery, rape, kidnapping) is never excessive",
190
+ "groupId": "g-2",
191
+ "sourceIds": [
192
+ "s-3"
193
+ ]
194
+ },
195
+ {
196
+ "id": "e-5",
197
+ "kind": "element",
198
+ "label": "A violent crime gravely endangering the person is under way",
199
+ "holds": "no",
200
+ "groupId": "g-2"
201
+ },
202
+ {
203
+ "id": "j-1",
204
+ "kind": "judgement",
205
+ "label": "The acts were unlawful detention, insult and minor beating, not a violent crime gravely endangering the person",
206
+ "holds": "yes",
207
+ "groupId": "g-2",
208
+ "sourceIds": [
209
+ "s-2"
210
+ ]
211
+ },
212
+ {
213
+ "id": "n-3",
214
+ "kind": "norm",
215
+ "label": "Model Provision A(2): defence that clearly exceeds the necessary limit and causes great harm carries liability",
216
+ "groupId": "g-3",
217
+ "sourceIds": [
218
+ "s-3"
219
+ ]
220
+ },
221
+ {
222
+ "id": "e-6",
223
+ "kind": "element",
224
+ "label": "Clearly exceeded the necessary limit, causing great harm",
225
+ "holds": "yes",
226
+ "groupId": "g-3"
227
+ },
228
+ {
229
+ "id": "j-2",
230
+ "kind": "judgement",
231
+ "label": "The attack Fang faced was neither urgent nor serious",
232
+ "holds": "yes",
233
+ "groupId": "g-3",
234
+ "sourceIds": [
235
+ "s-2"
236
+ ]
237
+ },
238
+ {
239
+ "id": "i-1",
240
+ "kind": "inference",
241
+ "label": "Jiang's side meant to pressure for payment and carried and used no weapon",
242
+ "holds": "yes",
243
+ "groupId": "g-3",
244
+ "sourceIds": [
245
+ "s-2"
246
+ ]
247
+ },
248
+ {
249
+ "id": "i-2",
250
+ "kind": "inference",
251
+ "label": "When the police came in there was no fierce standoff or physical fight, and after the warning the other side did not fight",
252
+ "holds": "yes",
253
+ "groupId": "g-3",
254
+ "sourceIds": [
255
+ "s-2"
256
+ ]
257
+ },
258
+ {
259
+ "id": "i-3",
260
+ "kind": "inference",
261
+ "label": "The police car's flashing lights were plainly visible, so Fang should have known the police had not left",
262
+ "holds": "yes",
263
+ "groupId": "g-3",
264
+ "sourceIds": [
265
+ "s-2"
266
+ ]
267
+ },
268
+ {
269
+ "id": "i-4",
270
+ "kind": "inference",
271
+ "label": "Jiang and others taunted and crowded him but launched no violent attack",
272
+ "holds": "yes",
273
+ "groupId": "g-3",
274
+ "sourceIds": [
275
+ "s-2"
276
+ ]
277
+ },
278
+ {
279
+ "id": "f-11",
280
+ "kind": "fact",
281
+ "label": "The police car in the yard had its lights flashing, visible through the glass of the reception room",
282
+ "date": "2032-04-14",
283
+ "groupId": "g-3",
284
+ "sourceIds": [
285
+ "s-2"
286
+ ]
287
+ },
288
+ {
289
+ "id": "j-3",
290
+ "kind": "judgement",
291
+ "label": "The means of defence and its consequences were too severe",
292
+ "holds": "yes",
293
+ "groupId": "g-3",
294
+ "sourceIds": [
295
+ "s-2"
296
+ ]
297
+ },
298
+ {
299
+ "id": "f-12",
300
+ "kind": "fact",
301
+ "label": "The stabbing left one dead, two seriously and one slightly injured, one stabbed from behind; the aides returned at 22:26",
302
+ "date": "2032-04-14",
303
+ "groupId": "g-3",
304
+ "sourceIds": [
305
+ "s-1"
306
+ ]
307
+ },
308
+ {
309
+ "id": "c-4",
310
+ "kind": "conclusion",
311
+ "label": "Intentional injury under excessive defence, not murder",
312
+ "holds": "yes",
313
+ "groupId": "g-4"
314
+ },
315
+ {
316
+ "id": "n-4",
317
+ "kind": "norm",
318
+ "label": "Model Provision B: intentional injury causing death carries the heavier band of penalty",
319
+ "groupId": "g-4",
320
+ "sourceIds": [
321
+ "s-4"
322
+ ]
323
+ },
324
+ {
325
+ "id": "i-5",
326
+ "kind": "inference",
327
+ "label": "The evidence does not show Fang sought or allowed death: one stab each, no repeat stabs, only those crowding him, aiming to leave",
328
+ "holds": "yes",
329
+ "groupId": "g-4",
330
+ "sourceIds": [
331
+ "s-2"
332
+ ]
333
+ },
334
+ {
335
+ "id": "j-4",
336
+ "kind": "judgement",
337
+ "label": "Fang was indifferent to the excessive result of injury and death",
338
+ "holds": "yes",
339
+ "groupId": "g-4",
340
+ "sourceIds": [
341
+ "s-2"
342
+ ]
343
+ },
344
+ {
345
+ "id": "c-5",
346
+ "kind": "conclusion",
347
+ "label": "Fang's sentence is reduced to four years",
348
+ "holds": "yes",
349
+ "groupId": "g-5"
350
+ },
351
+ {
352
+ "id": "n-5",
353
+ "kind": "norm",
354
+ "label": "Model Provision A(2): excessive defence shall receive a reduced or waived sentence",
355
+ "groupId": "g-5",
356
+ "sourceIds": [
357
+ "s-3"
358
+ ]
359
+ },
360
+ {
361
+ "id": "f-13",
362
+ "kind": "fact",
363
+ "label": "Fang truthfully confessed the main crimes after arrest",
364
+ "groupId": "g-5",
365
+ "sourceIds": [
366
+ "s-2"
367
+ ]
368
+ },
369
+ {
370
+ "id": "j-5",
371
+ "kind": "judgement",
372
+ "label": "The victims were gravely at fault in bringing about the incident",
373
+ "holds": "yes",
374
+ "groupId": "g-5",
375
+ "sourceIds": [
376
+ "s-2"
377
+ ]
378
+ },
379
+ {
380
+ "id": "j-6",
381
+ "kind": "judgement",
382
+ "label": "The harm far outweighed the interest protected, and the other three took no part in insulting Liang",
383
+ "holds": "yes",
384
+ "groupId": "g-5",
385
+ "sourceIds": [
386
+ "s-2"
387
+ ]
388
+ }
389
+ ],
390
+ "links": [
391
+ {
392
+ "from": "n-1",
393
+ "to": "e-1",
394
+ "stance": "basis"
395
+ },
396
+ {
397
+ "from": "e-1",
398
+ "to": "c-2"
399
+ },
400
+ {
401
+ "from": "n-1",
402
+ "to": "e-2",
403
+ "stance": "basis"
404
+ },
405
+ {
406
+ "from": "e-2",
407
+ "to": "c-2"
408
+ },
409
+ {
410
+ "from": "n-1",
411
+ "to": "e-3",
412
+ "stance": "basis"
413
+ },
414
+ {
415
+ "from": "e-3",
416
+ "to": "c-2"
417
+ },
418
+ {
419
+ "from": "n-1",
420
+ "to": "e-4",
421
+ "stance": "basis"
422
+ },
423
+ {
424
+ "from": "e-4",
425
+ "to": "c-2"
426
+ },
427
+ {
428
+ "from": "f-1",
429
+ "to": "e-1"
430
+ },
431
+ {
432
+ "from": "f-2",
433
+ "to": "e-1"
434
+ },
435
+ {
436
+ "from": "f-3",
437
+ "to": "e-1"
438
+ },
439
+ {
440
+ "from": "f-4",
441
+ "to": "e-1"
442
+ },
443
+ {
444
+ "from": "f-5",
445
+ "to": "e-1"
446
+ },
447
+ {
448
+ "from": "f-6",
449
+ "to": "e-2"
450
+ },
451
+ {
452
+ "from": "f-7",
453
+ "to": "e-2"
454
+ },
455
+ {
456
+ "from": "f-8",
457
+ "to": "e-2"
458
+ },
459
+ {
460
+ "from": "f-10",
461
+ "to": "e-3"
462
+ },
463
+ {
464
+ "from": "f-9",
465
+ "to": "e-4"
466
+ },
467
+ {
468
+ "from": "c-2",
469
+ "to": "c-1"
470
+ },
471
+ {
472
+ "from": "n-2",
473
+ "to": "e-5",
474
+ "stance": "basis"
475
+ },
476
+ {
477
+ "from": "j-1",
478
+ "to": "e-5",
479
+ "stance": "against"
480
+ },
481
+ {
482
+ "from": "e-5",
483
+ "to": "c-3"
484
+ },
485
+ {
486
+ "from": "c-3",
487
+ "to": "c-1",
488
+ "stance": "against"
489
+ },
490
+ {
491
+ "from": "n-3",
492
+ "to": "e-6",
493
+ "stance": "basis"
494
+ },
495
+ {
496
+ "from": "f-6",
497
+ "to": "i-2"
498
+ },
499
+ {
500
+ "from": "f-11",
501
+ "to": "i-3"
502
+ },
503
+ {
504
+ "from": "f-9",
505
+ "to": "i-4"
506
+ },
507
+ {
508
+ "from": "i-1",
509
+ "to": "j-2"
510
+ },
511
+ {
512
+ "from": "i-2",
513
+ "to": "j-2"
514
+ },
515
+ {
516
+ "from": "i-3",
517
+ "to": "j-2"
518
+ },
519
+ {
520
+ "from": "i-4",
521
+ "to": "j-2"
522
+ },
523
+ {
524
+ "from": "j-2",
525
+ "to": "e-6"
526
+ },
527
+ {
528
+ "from": "f-9",
529
+ "to": "j-3"
530
+ },
531
+ {
532
+ "from": "f-12",
533
+ "to": "j-3"
534
+ },
535
+ {
536
+ "from": "j-3",
537
+ "to": "e-6"
538
+ },
539
+ {
540
+ "from": "e-6",
541
+ "to": "c-1"
542
+ },
543
+ {
544
+ "from": "n-4",
545
+ "to": "c-4",
546
+ "stance": "basis"
547
+ },
548
+ {
549
+ "from": "f-10",
550
+ "to": "i-5"
551
+ },
552
+ {
553
+ "from": "i-5",
554
+ "to": "c-4"
555
+ },
556
+ {
557
+ "from": "j-4",
558
+ "to": "c-4"
559
+ },
560
+ {
561
+ "from": "c-4",
562
+ "to": "c-1"
563
+ },
564
+ {
565
+ "from": "n-5",
566
+ "to": "c-5",
567
+ "stance": "basis"
568
+ },
569
+ {
570
+ "from": "f-13",
571
+ "to": "c-5"
572
+ },
573
+ {
574
+ "from": "f-2",
575
+ "to": "j-5"
576
+ },
577
+ {
578
+ "from": "f-5",
579
+ "to": "j-5"
580
+ },
581
+ {
582
+ "from": "j-5",
583
+ "to": "c-5"
584
+ },
585
+ {
586
+ "from": "j-6",
587
+ "to": "c-5",
588
+ "stance": "against",
589
+ "label": "limits how far the sentence is reduced"
590
+ },
591
+ {
592
+ "from": "c-5",
593
+ "to": "c-1"
594
+ }
595
+ ],
596
+ "sources": [
597
+ {
598
+ "id": "s-1",
599
+ "type": "case",
600
+ "name": "Fictional Case A · facts of the case",
601
+ "loc": {
602
+ "caseNo": "(2032) Shi Xing Zhong No. 1",
603
+ "court": "Example Higher People's Court"
604
+ }
605
+ },
606
+ {
607
+ "id": "s-2",
608
+ "type": "case",
609
+ "name": "Fictional Case A · reasons for the judgment",
610
+ "loc": {
611
+ "caseNo": "(2032) Shi Xing Zhong No. 1",
612
+ "court": "Example Higher People's Court"
613
+ }
614
+ },
615
+ {
616
+ "id": "s-3",
617
+ "type": "statute",
618
+ "name": "Model Provision A",
619
+ "loc": {
620
+ "lawName": "Model Act (fictional)",
621
+ "article": 1,
622
+ "version": "model edition"
623
+ }
624
+ },
625
+ {
626
+ "id": "s-4",
627
+ "type": "statute",
628
+ "name": "Model Provision B",
629
+ "loc": {
630
+ "lawName": "Model Act (fictional)",
631
+ "article": 2,
632
+ "version": "model edition"
633
+ }
634
+ }
635
+ ]
636
+ }