@zh-xx/antu 0.11.0 → 0.13.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.
- package/assets/viewer.html +48 -49
- package/bin/antu-mcp.mjs +62 -63
- package/bin/antu.mjs +54 -55
- package/embed/antu-embed.d.ts +11 -0
- package/embed/antu-embed.js +28227 -28093
- package/examples/agent/fact/1-minimal.en.json +8 -11
- package/examples/agent/fact/1-minimal.zh-CN.json +34 -9
- package/examples/agent/fact/2-single-actor.en.json +4 -30
- package/examples/agent/fact/2-single-actor.zh-CN.json +22 -10
- package/examples/agent/fact/{3-groups.en.json → 3-sides.en.json} +9 -9
- package/examples/agent/fact/{3-groups.zh-CN.json → 3-sides.zh-CN.json} +9 -9
- package/examples/agent/fact/4-one-side-several.en.json +44 -0
- package/examples/agent/fact/4-one-side-several.zh-CN.json +44 -0
- package/examples/agent/fact/5-duration.en.json +31 -8
- package/examples/agent/fact/5-duration.zh-CN.json +31 -8
- package/examples/agent/fact/6-sources.en.json +51 -12
- package/examples/agent/fact/6-sources.zh-CN.json +51 -12
- package/examples/agent/fact/7-undated.en.json +26 -9
- package/examples/agent/fact/7-undated.zh-CN.json +26 -9
- package/examples/fact/fang-yuan-loan-and-conflict.en.json +7 -66
- package/examples/fact/fang-yuan-loan-and-conflict.zh-CN.json +6 -29
- package/examples/fact/gym-membership-face-scan.en.json +1 -6
- package/examples/fact/gym-membership-face-scan.zh-CN.json +1 -6
- package/examples/fact/lin-fang-v-zhao-lei-private-lending.en.json +6 -19
- package/examples/fact/lin-fang-v-zhao-lei-private-lending.zh-CN.json +6 -19
- package/examples/fact/marketplace-platform-liability.en.json +5 -24
- package/examples/fact/marketplace-platform-liability.zh-CN.json +5 -24
- package/examples/fact/neighbour-corridor-charging.en.json +3 -25
- package/examples/fact/neighbour-corridor-charging.zh-CN.json +3 -25
- package/examples/fact/sample-construction-payment.en.json +8 -82
- package/examples/fact/sample-construction-payment.zh-CN.json +7 -25
- package/examples/fact/sample-four-parties-four-slots.en.json +8 -81
- package/examples/fact/sample-four-parties-four-slots.zh-CN.json +5 -22
- package/examples/fact/sample-no-groups.en.json +1 -1
- package/examples/fact/sample-no-groups.zh-CN.json +1 -1
- package/examples/fact/sample-three-slots.en.json +3 -15
- package/examples/fact/sample-three-slots.zh-CN.json +3 -15
- package/examples/fact/sample-two-actors-one-side.en.json +4 -23
- package/examples/fact/sample-two-actors-one-side.zh-CN.json +4 -23
- package/examples/fact/sample-two-parties-each-side.en.json +7 -34
- package/examples/fact/sample-two-parties-each-side.zh-CN.json +7 -34
- package/lib/chunks/report-BTsYMUG2.mjs +1461 -0
- package/lib/html.mjs +5 -5
- package/lib/validate.d.ts +9 -0
- package/lib/validate.mjs +5 -5
- package/package.json +1 -1
- package/server.json +2 -2
- package/spec/agent/fact/guide.md +39 -38
- package/spec/agent/relationship/guide.md +26 -7
- package/examples/agent/fact/4-views.en.json +0 -44
- package/examples/agent/fact/4-views.zh-CN.json +0 -44
- package/lib/chunks/report-BV3j2cS_.mjs +0 -1462
|
@@ -1,26 +1,16 @@
|
|
|
1
1
|
{
|
|
2
|
-
"specVersion":
|
|
2
|
+
"specVersion": 2,
|
|
3
3
|
"type": "fact",
|
|
4
4
|
"title": "A fictional online marketplace · Operation and the regulators' action",
|
|
5
5
|
|
|
6
6
|
"actors": [
|
|
7
|
-
{ "id": "a-1", "name": "Yunji Mall Co.", "role": "Defendant company" },
|
|
8
|
-
{ "id": "a-2", "name": "Regulators", "role": "Enforcement authorities" }
|
|
7
|
+
{ "id": "a-1", "name": "Yunji Mall Co.", "role": "Defendant company", "groupId": "g-1" },
|
|
8
|
+
{ "id": "a-2", "name": "Regulators", "role": "Enforcement authorities", "groupId": "g-2" }
|
|
9
9
|
],
|
|
10
10
|
|
|
11
11
|
"groups": [
|
|
12
|
-
{ "id": "g-1", "label": "
|
|
13
|
-
{ "id": "g-2", "label": "
|
|
14
|
-
],
|
|
15
|
-
|
|
16
|
-
"views": [
|
|
17
|
-
{
|
|
18
|
-
"label": "Yunji Mall Co. vs regulators",
|
|
19
|
-
"splitBy": "actor",
|
|
20
|
-
"side1": { "label": "Yunji Mall Co.", "actors": ["a-1"] },
|
|
21
|
-
"side2": { "label": "Regulators", "actors": ["a-2"] }
|
|
22
|
-
},
|
|
23
|
-
{ "label": "Sides by nature", "splitBy": "group" }
|
|
12
|
+
{ "id": "g-1", "label": "Yunji Mall Co." },
|
|
13
|
+
{ "id": "g-2", "label": "Regulators" }
|
|
24
14
|
],
|
|
25
15
|
|
|
26
16
|
"sources": [
|
|
@@ -70,7 +60,6 @@
|
|
|
70
60
|
"label": "Yunji Mall Co. is founded",
|
|
71
61
|
"summary": "Registered capital 10 million yuan",
|
|
72
62
|
"actorIds": ["a-1"],
|
|
73
|
-
"groupId": "g-1",
|
|
74
63
|
"detail": "A limited liability company running the Yunji Mall website and app; it held a value-added telecom licence but, up to the day of the case, no permit for selling food online.",
|
|
75
64
|
"sourceIds": ["s-1"]
|
|
76
65
|
}
|
|
@@ -84,7 +73,6 @@
|
|
|
84
73
|
"label": "Regulator inspects and gives an administrative warning",
|
|
85
74
|
"summary": "No complaint-handling measures",
|
|
86
75
|
"actorIds": ["a-2"],
|
|
87
|
-
"groupId": "g-2",
|
|
88
76
|
"detail": "After its inspection the Example City Market Supervision Bureau gave an administrative warning and ordered correction, then sent Yunji Mall Co. the keywords and page links of falsely labelled goods and told it to take them down.",
|
|
89
77
|
"sourceIds": ["s-2"]
|
|
90
78
|
}
|
|
@@ -98,7 +86,6 @@
|
|
|
98
86
|
"label": "The mall launches a \"patrol\" information platform",
|
|
99
87
|
"summary": "Compliance team works a week",
|
|
100
88
|
"actorIds": ["a-1"],
|
|
101
|
-
"groupId": "g-1",
|
|
102
89
|
"detail": "Yunji Mall Co. set up a compliance team for a rush of work and on 8 March put the \"patrol\" information management platform into use.",
|
|
103
90
|
"sourceIds": ["s-2"]
|
|
104
91
|
}
|
|
@@ -112,7 +99,6 @@
|
|
|
112
99
|
"label": "The mall reports 1,583 problem pages",
|
|
113
100
|
"summary": "After sign-off the platform is left idle",
|
|
114
101
|
"actorIds": ["a-1"],
|
|
115
|
-
"groupId": "g-1",
|
|
116
102
|
"detail": "By 26 April 1,583 problem pages in the \"false label\" category had been reported; after the regulator signed it off, the four members of the compliance team left or moved to other departments and work on the \"patrol\" platform was largely put aside.",
|
|
117
103
|
"sourceIds": ["s-2"]
|
|
118
104
|
}
|
|
@@ -126,7 +112,6 @@
|
|
|
126
112
|
"label": "District regulator's on-site check finds falsely labelled goods",
|
|
127
113
|
"summary": "Officers show it; manager signs",
|
|
128
114
|
"actorIds": ["a-2"],
|
|
129
|
-
"groupId": "g-2",
|
|
130
115
|
"detail": "Officers of the district market regulator logged in to the Yunji Mall app, opened the \"recommended\" section and soon found falsely labelled goods; the mall's manager Liu signed to confirm on the spot; Yunji Mall Co. then handed in only a rectification report.",
|
|
131
116
|
"sourceIds": ["s-3"]
|
|
132
117
|
}
|
|
@@ -140,7 +125,6 @@
|
|
|
140
125
|
"label": "The mall and Canglian Co. put four servers into service",
|
|
141
126
|
"summary": "For page cache acceleration",
|
|
142
127
|
"actorIds": ["a-1"],
|
|
143
|
-
"groupId": "g-1",
|
|
144
128
|
"detail": "Canglian Co. supplied the four servers; Yunji Mall Co. installed the cache system software, logged in remotely with an account and password to maintain it, and was responsible for the data source and the system's content.",
|
|
145
129
|
"sourceIds": ["s-4"]
|
|
146
130
|
}
|
|
@@ -154,7 +138,6 @@
|
|
|
154
138
|
"label": "District regulator penalises the mall",
|
|
155
139
|
"summary": "Selling food online without permission",
|
|
156
140
|
"actorIds": ["a-2"],
|
|
157
|
-
"groupId": "g-2",
|
|
158
141
|
"detail": "The district market regulator found that Yunji Mall Co. had without permission sold food online where a permit is required, and that the goods carried false labels, and imposed a penalty.",
|
|
159
142
|
"sourceIds": ["s-3"]
|
|
160
143
|
}
|
|
@@ -168,7 +151,6 @@
|
|
|
168
151
|
"label": "The four servers are seized",
|
|
169
152
|
"summary": "2,100 pages found falsely labelled",
|
|
170
153
|
"actorIds": ["a-2"],
|
|
171
|
-
"groupId": "g-2",
|
|
172
154
|
"detail": "During an enforcement inspection the district authority seized four servers from Canglian Co.; the enforcement authority took 3,000 product pages for examination and found 2,100 of them falsely labelled, over seventy percent.",
|
|
173
155
|
"sourceIds": ["s-5"]
|
|
174
156
|
}
|
|
@@ -182,7 +164,6 @@
|
|
|
182
164
|
"label": "The mall changes its cache to fragmented storage",
|
|
183
165
|
"summary": "Storage changed at the manager's word",
|
|
184
166
|
"actorIds": ["a-1"],
|
|
185
|
-
"groupId": "g-1",
|
|
186
167
|
"detail": "To avoid regulatory checks and compliance risk, and at the word of the manager Chen, the technical department changed whole-page storage into fragments spread over several servers, each keeping only 32 MB pieces.",
|
|
187
168
|
"sourceIds": ["s-1"]
|
|
188
169
|
}
|
|
@@ -1,26 +1,16 @@
|
|
|
1
1
|
{
|
|
2
|
-
"specVersion":
|
|
2
|
+
"specVersion": 2,
|
|
3
3
|
"type": "fact",
|
|
4
4
|
"title": "虚构网络商城案 · 平台经营与监管查处经过",
|
|
5
5
|
|
|
6
6
|
"actors": [
|
|
7
|
-
{ "id": "a-1", "name": "云集商城公司", "role": "被告单位" },
|
|
8
|
-
{ "id": "a-2", "name": "监管部门", "role": "查处机关" }
|
|
7
|
+
{ "id": "a-1", "name": "云集商城公司", "role": "被告单位", "groupId": "g-1" },
|
|
8
|
+
{ "id": "a-2", "name": "监管部门", "role": "查处机关", "groupId": "g-2" }
|
|
9
9
|
],
|
|
10
10
|
|
|
11
11
|
"groups": [
|
|
12
|
-
{ "id": "g-1", "label": "
|
|
13
|
-
{ "id": "g-2", "label": "
|
|
14
|
-
],
|
|
15
|
-
|
|
16
|
-
"views": [
|
|
17
|
-
{
|
|
18
|
-
"label": "云集商城公司 vs 监管部门",
|
|
19
|
-
"splitBy": "actor",
|
|
20
|
-
"side1": { "label": "云集商城公司", "actors": ["a-1"] },
|
|
21
|
-
"side2": { "label": "监管部门", "actors": ["a-2"] }
|
|
22
|
-
},
|
|
23
|
-
{ "label": "按性质分侧", "splitBy": "group" }
|
|
12
|
+
{ "id": "g-1", "label": "云集商城公司" },
|
|
13
|
+
{ "id": "g-2", "label": "监管部门" }
|
|
24
14
|
],
|
|
25
15
|
|
|
26
16
|
"sources": [
|
|
@@ -70,7 +60,6 @@
|
|
|
70
60
|
"label": "云集商城公司成立",
|
|
71
61
|
"summary": "注册资本 1000 万元",
|
|
72
62
|
"actorIds": ["a-1"],
|
|
73
|
-
"groupId": "g-1",
|
|
74
63
|
"detail": "公司性质为有限责任公司,主办云集商城网站及应用,持有增值电信业务经营许可,但至案发之日没有取得食品网络销售所需的许可。",
|
|
75
64
|
"sourceIds": ["s-1"]
|
|
76
65
|
}
|
|
@@ -84,7 +73,6 @@
|
|
|
84
73
|
"label": "市场监管部门检查并予行政警告",
|
|
85
74
|
"summary": "未落实投诉处理措施",
|
|
86
75
|
"actorIds": ["a-2"],
|
|
87
|
-
"groupId": "g-2",
|
|
88
76
|
"detail": "示例市市场监督管理局检查后给予行政警告处罚并责令整改,随后将虚假标识的关键词和商品页面链接发给云集商城公司,要求采取措施下架。",
|
|
89
77
|
"sourceIds": ["s-2"]
|
|
90
78
|
}
|
|
@@ -98,7 +86,6 @@
|
|
|
98
86
|
"label": "商城上线「巡检」信息管理平台",
|
|
99
87
|
"summary": "合规组突击整改一周",
|
|
100
88
|
"actorIds": ["a-1"],
|
|
101
|
-
"groupId": "g-1",
|
|
102
89
|
"detail": "云集商城公司成立合规组开展突击工作,于 3 月 8 日投入使用「巡检」信息管理平台。",
|
|
103
90
|
"sourceIds": ["s-2"]
|
|
104
91
|
}
|
|
@@ -112,7 +99,6 @@
|
|
|
112
99
|
"label": "商城报送问题页面 1583 个",
|
|
113
100
|
"summary": "验收合格后平台即被搁置",
|
|
114
101
|
"actorIds": ["a-1"],
|
|
115
|
-
"groupId": "g-1",
|
|
116
102
|
"detail": "截止 4 月 26 日共报送「虚假标识」类别的问题页面 1583 个;监管部门验收合格后,合规组原有 4 名成员或离职或调到其他部门,「巡检」平台工作基本搁置。",
|
|
117
103
|
"sourceIds": ["s-2"]
|
|
118
104
|
}
|
|
@@ -126,7 +112,6 @@
|
|
|
126
112
|
"label": "区市场监管局现场检查发现虚假标识商品",
|
|
127
113
|
"summary": "执法人员当场演示并签字确认",
|
|
128
114
|
"actorIds": ["a-2"],
|
|
129
|
-
"groupId": "g-2",
|
|
130
115
|
"detail": "区市场监管局执法人员登录云集商城应用,进入「推荐」栏目后很快找到带虚假标识的商品,商城负责人刘某现场签字确认;云集商城公司随后仅提交了一份整改报告。",
|
|
131
116
|
"sourceIds": ["s-3"]
|
|
132
117
|
}
|
|
@@ -140,7 +125,6 @@
|
|
|
140
125
|
"label": "商城与仓联公司合作上线 4 台服务器",
|
|
141
126
|
"summary": "用于页面缓存加速",
|
|
142
127
|
"actorIds": ["a-1"],
|
|
143
|
-
"groupId": "g-1",
|
|
144
128
|
"detail": "仓联公司提供 4 台服务器硬件,云集商城公司安装缓存系统软件并通过账号密码远程登录维护,负责商品数据源与系统内容维护。",
|
|
145
129
|
"sourceIds": ["s-4"]
|
|
146
130
|
}
|
|
@@ -154,7 +138,6 @@
|
|
|
154
138
|
"label": "区市场监管局对商城予以行政处罚",
|
|
155
139
|
"summary": "认定擅自从事食品网络销售",
|
|
156
140
|
"actorIds": ["a-2"],
|
|
157
|
-
"groupId": "g-2",
|
|
158
141
|
"detail": "区市场监管局认定云集商城公司擅自从事需要许可的食品网络销售,且所售商品含有虚假标识的内容,予以行政处罚。",
|
|
159
142
|
"sourceIds": ["s-3"]
|
|
160
143
|
}
|
|
@@ -168,7 +151,6 @@
|
|
|
168
151
|
"label": "区监管部门查获涉案 4 台服务器",
|
|
169
152
|
"summary": "2100 个页面被认定带虚假标识",
|
|
170
153
|
"actorIds": ["a-2"],
|
|
171
|
-
"groupId": "g-2",
|
|
172
154
|
"detail": "区监管部门在行政执法检查时从仓联公司查获 4 台服务器;执法机关提取 3000 条商品页面鉴定,认定其中 2100 条带有虚假标识,占比逾七成。",
|
|
173
155
|
"sourceIds": ["s-5"]
|
|
174
156
|
}
|
|
@@ -182,7 +164,6 @@
|
|
|
182
164
|
"label": "商城将缓存改为碎片化存储",
|
|
183
165
|
"summary": "在负责人授意下调整存储方式",
|
|
184
166
|
"actorIds": ["a-1"],
|
|
185
|
-
"groupId": "g-1",
|
|
186
167
|
"detail": "为规避监管检查和合规风险,在负责人陈某授意下,技术部门将完整页面存储改为多台服务器碎片化存储,每台服务器仅保存 32M 大小的片段。",
|
|
187
168
|
"sourceIds": ["s-1"]
|
|
188
169
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"specVersion":
|
|
2
|
+
"specVersion": 2,
|
|
3
3
|
"type": "fact",
|
|
4
4
|
"title": "Qian Min v. Sun Hao, right to health · The facts (fictional: charging in a corridor)",
|
|
5
5
|
|
|
6
6
|
"actors": [
|
|
7
|
-
{ "id": "a-1", "name": "Sun Hao", "role": "Defendant · the one who objected" },
|
|
8
|
-
{ "id": "a-2", "name": "Qian Min", "role": "Plaintiff · the one objected to" }
|
|
7
|
+
{ "id": "a-1", "name": "Sun Hao", "role": "Defendant · the one who objected", "groupId": "g-1" },
|
|
8
|
+
{ "id": "a-2", "name": "Qian Min", "role": "Plaintiff · the one objected to", "groupId": "g-2" }
|
|
9
9
|
],
|
|
10
10
|
|
|
11
11
|
"groups": [
|
|
@@ -14,19 +14,6 @@
|
|
|
14
14
|
{ "id": "g-3", "label": "Done by both, or the objective course" }
|
|
15
15
|
],
|
|
16
16
|
|
|
17
|
-
"views": [
|
|
18
|
-
{ "label": "Sides by group", "splitBy": "group" },
|
|
19
|
-
{ "label": "Sun Hao vs Qian Min", "splitBy": "actor",
|
|
20
|
-
"side1": { "label": "What Sun Hao did", "actors": ["a-1"] },
|
|
21
|
-
"side2": { "label": "What Qian Min did", "actors": ["a-2"] },
|
|
22
|
-
"axis": { "label": "Done by both, or the objective course" } },
|
|
23
|
-
{ "label": "Sun Hao only", "splitBy": "actor",
|
|
24
|
-
"side1": { "label": "What Sun Hao did", "actors": ["a-1"] },
|
|
25
|
-
"side2": { "actors": [] },
|
|
26
|
-
"axis": { "label": "The rest" } },
|
|
27
|
-
{ "label": "Time order only", "splitBy": "actor", "side1": { "actors": [] }, "side2": { "actors": [] } }
|
|
28
|
-
],
|
|
29
|
-
|
|
30
17
|
"sources": [
|
|
31
18
|
{
|
|
32
19
|
"id": "s-1",
|
|
@@ -85,7 +72,6 @@
|
|
|
85
72
|
"id": "ev-2",
|
|
86
73
|
"date": "2030-06-02T20:14:07",
|
|
87
74
|
"label": "Sun Hao enters the corridor and presses the lift button",
|
|
88
|
-
"groupId": "g-1",
|
|
89
75
|
"actorIds": ["a-1"],
|
|
90
76
|
"detail": "At 20:14:07 Sun Hao entered the ground-floor corridor and pressed the lift's up button",
|
|
91
77
|
"sourceIds": ["s-1"]
|
|
@@ -95,7 +81,6 @@
|
|
|
95
81
|
"date": "2030-06-02T20:14:03",
|
|
96
82
|
"label": "Qian Min charges a battery in the corridor",
|
|
97
83
|
"summary": "Socket on the ground-floor wall",
|
|
98
|
-
"groupId": "g-2",
|
|
99
84
|
"actorIds": ["a-2"],
|
|
100
85
|
"detail": "Qian Min was charging an e-bike battery from the wall socket in the ground-floor corridor",
|
|
101
86
|
"sourceIds": ["s-1"]
|
|
@@ -106,7 +91,6 @@
|
|
|
106
91
|
"dateEnd": "2030-06-02T20:16:24",
|
|
107
92
|
"label": "The two talk on in the corridor (the objection)",
|
|
108
93
|
"summary": "Under five minutes, no contact",
|
|
109
|
-
"groupId": "g-3",
|
|
110
94
|
"actorIds": ["a-1", "a-2"],
|
|
111
95
|
"detail": "The two began to talk and kept talking while the lift came and went, with some sharp words; at 20:16:24 they left the corridor. The three videos show they were in contact for under five minutes",
|
|
112
96
|
"sourceIds": ["s-1", "s-3"]
|
|
@@ -120,7 +104,6 @@
|
|
|
120
104
|
"date": "2030-06-02T20:18:40",
|
|
121
105
|
"label": "At the building entrance Qian Min speaks quickly",
|
|
122
106
|
"summary": "Sun Hao stays even",
|
|
123
|
-
"groupId": "g-3",
|
|
124
107
|
"actorIds": ["a-1", "a-2"],
|
|
125
108
|
"detail": "Qian Min spoke quickly, Sun Hao evenly",
|
|
126
109
|
"sourceIds": ["s-2"]
|
|
@@ -133,7 +116,6 @@
|
|
|
133
116
|
"id": "ev-5",
|
|
134
117
|
"date": "2030-06-02T20:19:06",
|
|
135
118
|
"label": "They walk to the duty room, cable still in Qian Min's hand",
|
|
136
|
-
"groupId": "g-3",
|
|
137
119
|
"actorIds": ["a-1", "a-2"],
|
|
138
120
|
"detail": "The two walked towards the property duty room; the charging cable was still in Qian Min's hand",
|
|
139
121
|
"sourceIds": ["s-2"]
|
|
@@ -147,7 +129,6 @@
|
|
|
147
129
|
"date": "2030-06-02T20:21",
|
|
148
130
|
"label": "Ambulance called",
|
|
149
131
|
"summary": "Called 20:21, arrived 20:27",
|
|
150
|
-
"groupId": "g-3",
|
|
151
132
|
"actorIds": [],
|
|
152
133
|
"detail": "The emergency record says: ambulance called at 20:21, crew reached the patient at 20:27. The judgment does not say who made the call",
|
|
153
134
|
"sourceIds": ["s-4", "s-5"]
|
|
@@ -163,7 +144,6 @@
|
|
|
163
144
|
"dateNote": "The video clock reads 20:33:55 to 20:38:56; checked against the emergency record and the interview record, the real time is about 20:23 (the video clock runs about ten minutes fast)",
|
|
164
145
|
"label": "Row at the duty room door, Sun Hao is led away",
|
|
165
146
|
"summary": "Supervisor Zhou Qiang steps in",
|
|
166
|
-
"groupId": "g-3",
|
|
167
147
|
"actorIds": ["a-1", "a-2"],
|
|
168
148
|
"detail": "The two went on talking at the duty room door; Qian Min's voice kept rising and she stepped towards Sun Hao several times, and property supervisor Zhou Qiang pulled them apart; Zhou Qiang led Sun Hao away and Qian Min was taken into the duty room. The property staff Zhou Qiang and Wu Mei took part in calming them (not in the actors list)",
|
|
169
149
|
"sourceIds": ["s-3"]
|
|
@@ -176,7 +156,6 @@
|
|
|
176
156
|
"id": "ev-8",
|
|
177
157
|
"date": "2030-06-02T20:27",
|
|
178
158
|
"label": "The ambulance crew arrives",
|
|
179
|
-
"groupId": "g-3",
|
|
180
159
|
"actorIds": [],
|
|
181
160
|
"detail": "The ambulance crew reached the patient",
|
|
182
161
|
"sourceIds": ["s-4"]
|
|
@@ -190,7 +169,6 @@
|
|
|
190
169
|
"date": "2030-06-02",
|
|
191
170
|
"label": "Qian Min has a sudden heart problem and is taken to hospital",
|
|
192
171
|
"summary": "The judgment gives no time of day",
|
|
193
|
-
"groupId": "g-2",
|
|
194
172
|
"actorIds": ["a-2"],
|
|
195
173
|
"detail": "Qian Min, still upset, had a sudden heart problem and was taken to hospital for treatment (the judgment simplifies the onset and gives no time of day, so date is exact only to the day)",
|
|
196
174
|
"sourceIds": ["s-6"]
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"specVersion":
|
|
2
|
+
"specVersion": 2,
|
|
3
3
|
"type": "fact",
|
|
4
4
|
"title": "钱敏诉孙浩健康权纠纷案 · 事实经过(虚构:楼道充电劝阻案)",
|
|
5
5
|
|
|
6
6
|
"actors": [
|
|
7
|
-
{ "id": "a-1", "name": "孙浩", "role": "被告 · 劝阻方" },
|
|
8
|
-
{ "id": "a-2", "name": "钱敏", "role": "原告 · 被劝阻方" }
|
|
7
|
+
{ "id": "a-1", "name": "孙浩", "role": "被告 · 劝阻方", "groupId": "g-1" },
|
|
8
|
+
{ "id": "a-2", "name": "钱敏", "role": "原告 · 被劝阻方", "groupId": "g-2" }
|
|
9
9
|
],
|
|
10
10
|
|
|
11
11
|
"groups": [
|
|
@@ -14,19 +14,6 @@
|
|
|
14
14
|
{ "id": "g-3", "label": "双方共同或客观经过" }
|
|
15
15
|
],
|
|
16
16
|
|
|
17
|
-
"views": [
|
|
18
|
-
{ "label": "按分组分侧", "splitBy": "group" },
|
|
19
|
-
{ "label": "孙浩 vs 钱敏", "splitBy": "actor",
|
|
20
|
-
"side1": { "label": "孙浩的行为", "actors": ["a-1"] },
|
|
21
|
-
"side2": { "label": "钱敏的行为", "actors": ["a-2"] },
|
|
22
|
-
"axis": { "label": "双方共同或客观经过" } },
|
|
23
|
-
{ "label": "只看孙浩", "splitBy": "actor",
|
|
24
|
-
"side1": { "label": "孙浩的行为", "actors": ["a-1"] },
|
|
25
|
-
"side2": { "actors": [] },
|
|
26
|
-
"axis": { "label": "其余经过" } },
|
|
27
|
-
{ "label": "只看时间先后", "splitBy": "actor", "side1": { "actors": [] }, "side2": { "actors": [] } }
|
|
28
|
-
],
|
|
29
|
-
|
|
30
17
|
"sources": [
|
|
31
18
|
{
|
|
32
19
|
"id": "s-1",
|
|
@@ -85,7 +72,6 @@
|
|
|
85
72
|
"id": "ev-2",
|
|
86
73
|
"date": "2030-06-02T20:14:07",
|
|
87
74
|
"label": "孙浩进入楼道并按下电梯键",
|
|
88
|
-
"groupId": "g-1",
|
|
89
75
|
"actorIds": ["a-1"],
|
|
90
76
|
"detail": "孙浩 20 时 14 分 07 秒进入一层楼道,按了上行电梯键",
|
|
91
77
|
"sourceIds": ["s-1"]
|
|
@@ -95,7 +81,6 @@
|
|
|
95
81
|
"date": "2030-06-02T20:14:03",
|
|
96
82
|
"label": "钱敏在楼道内给电池充电",
|
|
97
83
|
"summary": "插座在一层楼道墙面",
|
|
98
|
-
"groupId": "g-2",
|
|
99
84
|
"actorIds": ["a-2"],
|
|
100
85
|
"detail": "钱敏在一层楼道内,用墙面插座给电动自行车电池充电",
|
|
101
86
|
"sourceIds": ["s-1"]
|
|
@@ -106,7 +91,6 @@
|
|
|
106
91
|
"dateEnd": "2030-06-02T20:16:24",
|
|
107
92
|
"label": "双方在楼道内持续交谈(劝阻)",
|
|
108
93
|
"summary": "接触不足五分钟,无肢体接触",
|
|
109
|
-
"groupId": "g-3",
|
|
110
94
|
"actorIds": ["a-1", "a-2"],
|
|
111
95
|
"detail": "双方开始交谈;电梯往返期间持续对话,言语上有些许争执;20 时 16 分 24 秒双方走出楼道。三段监控视频显示双方接触时间不足五分钟",
|
|
112
96
|
"sourceIds": ["s-1", "s-3"]
|
|
@@ -120,7 +104,6 @@
|
|
|
120
104
|
"date": "2030-06-02T20:18:40",
|
|
121
105
|
"label": "双方走至单元门口,钱敏语气急促",
|
|
122
106
|
"summary": "孙浩语气平缓",
|
|
123
|
-
"groupId": "g-3",
|
|
124
107
|
"actorIds": ["a-1", "a-2"],
|
|
125
108
|
"detail": "钱敏语气急促,孙浩语气平缓",
|
|
126
109
|
"sourceIds": ["s-2"]
|
|
@@ -133,7 +116,6 @@
|
|
|
133
116
|
"id": "ev-5",
|
|
134
117
|
"date": "2030-06-02T20:19:06",
|
|
135
118
|
"label": "双方走向物业值班室,充电线仍在钱敏手中",
|
|
136
|
-
"groupId": "g-3",
|
|
137
119
|
"actorIds": ["a-1", "a-2"],
|
|
138
120
|
"detail": "双方走向物业值班室方向,此时充电线仍握在钱敏手中",
|
|
139
121
|
"sourceIds": ["s-2"]
|
|
@@ -147,7 +129,6 @@
|
|
|
147
129
|
"date": "2030-06-02T20:21",
|
|
148
130
|
"label": "呼叫急救",
|
|
149
131
|
"summary": "20:21 呼出,20:27 到达",
|
|
150
|
-
"groupId": "g-3",
|
|
151
132
|
"actorIds": [],
|
|
152
133
|
"detail": "急诊记录载明:20:21 呼叫急救,急救人员于 20:27 到达患者身边。判决书未载明由谁拨打",
|
|
153
134
|
"sourceIds": ["s-4", "s-5"]
|
|
@@ -163,7 +144,6 @@
|
|
|
163
144
|
"dateNote": "监控显示时间为 20 时 33 分 55 秒至 20 时 38 分 56 秒,对照急诊记录与询问笔录校准,实际约为 20 时 23 分(监控时钟约快十分钟)",
|
|
164
145
|
"label": "物业值班室门口争执,孙浩被劝离",
|
|
165
146
|
"summary": "物业主管周强劝离双方",
|
|
166
|
-
"groupId": "g-3",
|
|
167
147
|
"actorIds": ["a-1", "a-2"],
|
|
168
148
|
"detail": "双方在物业值班室门口继续交谈,钱敏语气不断升高并多次向孙浩靠近,被物业主管周强拉开;周强劝离孙浩,钱敏被劝至值班室。物业人员周强、吴梅参与劝解(未列入 actors 清单)",
|
|
169
149
|
"sourceIds": ["s-3"]
|
|
@@ -176,7 +156,6 @@
|
|
|
176
156
|
"id": "ev-8",
|
|
177
157
|
"date": "2030-06-02T20:27",
|
|
178
158
|
"label": "急救人员到达",
|
|
179
|
-
"groupId": "g-3",
|
|
180
159
|
"actorIds": [],
|
|
181
160
|
"detail": "急救人员到达患者身边",
|
|
182
161
|
"sourceIds": ["s-4"]
|
|
@@ -190,7 +169,6 @@
|
|
|
190
169
|
"date": "2030-06-02",
|
|
191
170
|
"label": "钱敏突发心脏不适,送医治疗",
|
|
192
171
|
"summary": "判决书未载明具体时刻",
|
|
193
|
-
"groupId": "g-2",
|
|
194
172
|
"actorIds": ["a-2"],
|
|
195
173
|
"detail": "钱敏在情绪未平复时突发心脏不适,经急救送医治疗(判决书对发病经过作了简化,未载明具体时刻,故 date 仅精确到日)",
|
|
196
174
|
"sourceIds": ["s-6"]
|
|
@@ -1,85 +1,17 @@
|
|
|
1
1
|
{
|
|
2
|
-
"specVersion":
|
|
2
|
+
"specVersion": 2,
|
|
3
3
|
"type": "fact",
|
|
4
4
|
"title": "Construction contract dispute · Payment and settlement timeline (illustrative data)",
|
|
5
5
|
"actors": [
|
|
6
|
-
{
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"id": "a-2",
|
|
13
|
-
"name": "Supervisor",
|
|
14
|
-
"role": "Engaged by the employer"
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"id": "a-3",
|
|
18
|
-
"name": "General contractor",
|
|
19
|
-
"role": "Party taking the works"
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
"id": "a-4",
|
|
23
|
-
"name": "Subcontractor",
|
|
24
|
-
"role": "Engaged by the general contractor"
|
|
25
|
-
}
|
|
6
|
+
{ "id": "a-1", "name": "Employer", "role": "Party awarding the works", "groupId": "g-1" },
|
|
7
|
+
{ "id": "a-2", "name": "Supervisor", "role": "Engaged by the employer", "groupId": "g-1" },
|
|
8
|
+
{ "id": "a-3", "name": "General contractor", "role": "Party taking the works", "groupId": "g-2" },
|
|
9
|
+
{ "id": "a-4", "name": "Subcontractor", "role": "Engaged by the general contractor", "groupId": "g-2" }
|
|
26
10
|
],
|
|
27
11
|
"groups": [
|
|
28
|
-
{
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"id": "g-2",
|
|
34
|
-
"label": "Contractor's acts"
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"id": "g-3",
|
|
38
|
-
"label": "Joint acts or objective course"
|
|
39
|
-
}
|
|
40
|
-
],
|
|
41
|
-
"views": [
|
|
42
|
-
{
|
|
43
|
-
"label": "Employer vs contractor",
|
|
44
|
-
"splitBy": "actor",
|
|
45
|
-
"side1": {
|
|
46
|
-
"label": "Employer's side",
|
|
47
|
-
"actors": [
|
|
48
|
-
"a-1",
|
|
49
|
-
"a-2"
|
|
50
|
-
]
|
|
51
|
-
},
|
|
52
|
-
"side2": {
|
|
53
|
-
"label": "Contractor's side",
|
|
54
|
-
"actors": [
|
|
55
|
-
"a-3",
|
|
56
|
-
"a-4"
|
|
57
|
-
]
|
|
58
|
-
},
|
|
59
|
-
"axis": {
|
|
60
|
-
"label": "Joint acts or objective course"
|
|
61
|
-
}
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
"label": "Employer only",
|
|
65
|
-
"splitBy": "actor",
|
|
66
|
-
"side1": {
|
|
67
|
-
"label": "Employer",
|
|
68
|
-
"actors": [
|
|
69
|
-
"a-1"
|
|
70
|
-
]
|
|
71
|
-
},
|
|
72
|
-
"side2": {
|
|
73
|
-
"actors": []
|
|
74
|
-
},
|
|
75
|
-
"axis": {
|
|
76
|
-
"label": "Remaining course"
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
"label": "Split by group",
|
|
81
|
-
"splitBy": "group"
|
|
82
|
-
}
|
|
12
|
+
{ "id": "g-1", "label": "Employer's side" },
|
|
13
|
+
{ "id": "g-2", "label": "Contractor's side" },
|
|
14
|
+
{ "id": "g-3", "label": "Joint acts or objective course" }
|
|
83
15
|
],
|
|
84
16
|
"sources": [
|
|
85
17
|
{
|
|
@@ -124,7 +56,6 @@
|
|
|
124
56
|
"actorIds": [
|
|
125
57
|
"a-1"
|
|
126
58
|
],
|
|
127
|
-
"groupId": "g-1",
|
|
128
59
|
"detail": "The employer paid the advance on the tenth day after the commencement notice was issued, being 30% of the contract price.",
|
|
129
60
|
"sourceIds": [
|
|
130
61
|
"s-1"
|
|
@@ -142,7 +73,6 @@
|
|
|
142
73
|
"actorIds": [
|
|
143
74
|
"a-3"
|
|
144
75
|
],
|
|
145
|
-
"groupId": "g-2",
|
|
146
76
|
"detail": "The general contractor submitted the first progress payment claim for the measuring period agreed in the contract.",
|
|
147
77
|
"sourceIds": [
|
|
148
78
|
"s-1"
|
|
@@ -160,7 +90,6 @@
|
|
|
160
90
|
"actorIds": [
|
|
161
91
|
"a-2"
|
|
162
92
|
],
|
|
163
|
-
"groupId": "g-1",
|
|
164
93
|
"detail": "The supervisor checked the measured result, found the claimed amount consistent with it, and issued an opinion approving payment.",
|
|
165
94
|
"sourceIds": [
|
|
166
95
|
"s-2"
|
|
@@ -178,7 +107,6 @@
|
|
|
178
107
|
"actorIds": [
|
|
179
108
|
"a-1"
|
|
180
109
|
],
|
|
181
|
-
"groupId": "g-1",
|
|
182
110
|
"detail": "The employer paid the first progress payment as agreed after receiving the supervisor's review opinion."
|
|
183
111
|
}
|
|
184
112
|
]
|
|
@@ -193,7 +121,6 @@
|
|
|
193
121
|
"actorIds": [
|
|
194
122
|
"a-4"
|
|
195
123
|
],
|
|
196
|
-
"groupId": "g-2",
|
|
197
124
|
"detail": "The subcontractor forwarded its second progress payment claim to the employer through the general contractor."
|
|
198
125
|
}
|
|
199
126
|
]
|
|
@@ -208,7 +135,6 @@
|
|
|
208
135
|
"actorIds": [
|
|
209
136
|
"a-1"
|
|
210
137
|
],
|
|
211
|
-
"groupId": "g-1",
|
|
212
138
|
"detail": "On the ground that the quality rectification was not yet complete, the employer suspended further progress payments, to be settled together once re-inspection passes.",
|
|
213
139
|
"sourceIds": [
|
|
214
140
|
"s-3"
|
|
@@ -1,33 +1,21 @@
|
|
|
1
1
|
{
|
|
2
|
-
"specVersion":
|
|
2
|
+
"specVersion": 2,
|
|
3
3
|
"type": "fact",
|
|
4
4
|
"title": "建设工程施工合同纠纷 · 付款与结算时间线(示意数据)",
|
|
5
5
|
|
|
6
6
|
"actors": [
|
|
7
|
-
{ "id": "a-1", "name": "建设单位", "role": "发包方" },
|
|
8
|
-
{ "id": "a-2", "name": "监理单位", "role": "受发包方委托" },
|
|
9
|
-
{ "id": "a-3", "name": "总包单位", "role": "承包方" },
|
|
10
|
-
{ "id": "a-4", "name": "分包单位", "role": "受总包委托" }
|
|
7
|
+
{ "id": "a-1", "name": "建设单位", "role": "发包方", "groupId": "g-1" },
|
|
8
|
+
{ "id": "a-2", "name": "监理单位", "role": "受发包方委托", "groupId": "g-1" },
|
|
9
|
+
{ "id": "a-3", "name": "总包单位", "role": "承包方", "groupId": "g-2" },
|
|
10
|
+
{ "id": "a-4", "name": "分包单位", "role": "受总包委托", "groupId": "g-2" }
|
|
11
11
|
],
|
|
12
12
|
|
|
13
13
|
"groups": [
|
|
14
|
-
{ "id": "g-1", "label": "
|
|
15
|
-
{ "id": "g-2", "label": "
|
|
14
|
+
{ "id": "g-1", "label": "发包方" },
|
|
15
|
+
{ "id": "g-2", "label": "承包方" },
|
|
16
16
|
{ "id": "g-3", "label": "双方共同或客观经过" }
|
|
17
17
|
],
|
|
18
18
|
|
|
19
|
-
"views": [
|
|
20
|
-
{ "label": "发包方 vs 承包方", "splitBy": "actor",
|
|
21
|
-
"side1": { "label": "发包方", "actors": ["a-1", "a-2"] },
|
|
22
|
-
"side2": { "label": "承包方", "actors": ["a-3", "a-4"] },
|
|
23
|
-
"axis": { "label": "双方共同或客观经过" } },
|
|
24
|
-
{ "label": "只看建设单位", "splitBy": "actor",
|
|
25
|
-
"side1": { "label": "建设单位", "actors": ["a-1"] },
|
|
26
|
-
"side2": { "actors": [] },
|
|
27
|
-
"axis": { "label": "其余经过" } },
|
|
28
|
-
{ "label": "按分组分侧", "splitBy": "group" }
|
|
29
|
-
],
|
|
30
|
-
|
|
31
19
|
"sources": [
|
|
32
20
|
{
|
|
33
21
|
"id": "s-1",
|
|
@@ -61,7 +49,6 @@
|
|
|
61
49
|
"label": "建设单位按约支付预付款",
|
|
62
50
|
"summary": "合同价款的 30%",
|
|
63
51
|
"actorIds": ["a-1"],
|
|
64
|
-
"groupId": "g-1",
|
|
65
52
|
"detail": "建设单位在开工通知发出后第十日支付预付款,为合同价款的 30%。",
|
|
66
53
|
"sourceIds": ["s-1"]
|
|
67
54
|
}
|
|
@@ -75,7 +62,6 @@
|
|
|
75
62
|
"label": "总包单位报送首期进度款申请",
|
|
76
63
|
"summary": "按月计量后申报",
|
|
77
64
|
"actorIds": ["a-3"],
|
|
78
|
-
"groupId": "g-2",
|
|
79
65
|
"detail": "总包单位按合同约定的计量周期报送首期进度款申请。",
|
|
80
66
|
"sourceIds": ["s-1"]
|
|
81
67
|
}
|
|
@@ -89,7 +75,6 @@
|
|
|
89
75
|
"label": "监理单位审核首期进度款",
|
|
90
76
|
"summary": "申报金额与计量结果一致",
|
|
91
77
|
"actorIds": ["a-2"],
|
|
92
|
-
"groupId": "g-1",
|
|
93
78
|
"detail": "监理单位核对计量结果,认为申报金额一致,出具同意支付意见。",
|
|
94
79
|
"sourceIds": ["s-2"]
|
|
95
80
|
}
|
|
@@ -103,7 +88,6 @@
|
|
|
103
88
|
"label": "建设单位支付首期进度款",
|
|
104
89
|
"summary": "按期支付",
|
|
105
90
|
"actorIds": ["a-1"],
|
|
106
|
-
"groupId": "g-1",
|
|
107
91
|
"detail": "建设单位在收到监理审核意见后按约支付首期进度款。"
|
|
108
92
|
}
|
|
109
93
|
]
|
|
@@ -116,7 +100,6 @@
|
|
|
116
100
|
"label": "分包单位报送第二期进度款",
|
|
117
101
|
"summary": "经总包单位转报",
|
|
118
102
|
"actorIds": ["a-4"],
|
|
119
|
-
"groupId": "g-2",
|
|
120
103
|
"detail": "分包单位经总包单位向建设单位转报第二期进度款申请。"
|
|
121
104
|
}
|
|
122
105
|
]
|
|
@@ -129,7 +112,6 @@
|
|
|
129
112
|
"label": "建设单位暂缓支付后续进度款",
|
|
130
113
|
"summary": "以待整改完成",
|
|
131
114
|
"actorIds": ["a-1"],
|
|
132
|
-
"groupId": "g-1",
|
|
133
115
|
"detail": "建设单位以质量整改尚未完成为由,暂缓支付后续进度款,待复检合格后一并结算。",
|
|
134
116
|
"sourceIds": ["s-3"]
|
|
135
117
|
}
|