dsh-plugin-mobile-gateway 0.7.2 → 0.7.4

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.
@@ -0,0 +1,32 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <title>Archify automated browser evidence · runtime-architecture.html</title>
7
+ <style>
8
+ *{box-sizing:border-box}body{margin:0;padding:24px;background:#e9eef5;color:#172033;font:14px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}header{max-width:1500px;margin:0 auto 18px}h1{margin:0 0 6px;font-size:20px}p{margin:0;color:#526176}.grid{max-width:1500px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}figure{margin:0;padding:10px;background:white;border:1px solid #c9d4e3;border-radius:12px;box-shadow:0 10px 30px rgba(15,23,42,.08)}img{display:block;width:100%;height:auto;border:1px solid #e2e8f0}figcaption{padding:9px 4px 2px;color:#526176}@media(max-width:900px){.grid{grid-template-columns:1fr}}
9
+ </style>
10
+ </head>
11
+ <body>
12
+ <header><h1>Automated browser evidence</h1><p>runtime-architecture.html · visual-check containment pass · perceptual visual review pending</p></header>
13
+ <main class="grid">
14
+ <figure>
15
+ <img src="runtime-architecture.visual-check.1440x900.light.png" alt="light 1440 by 900">
16
+ <figcaption><strong>LIGHT</strong> · 1440×900 · containment pass</figcaption>
17
+ </figure>
18
+ <figure>
19
+ <img src="runtime-architecture.visual-check.1440x900.dark.png" alt="dark 1440 by 900">
20
+ <figcaption><strong>DARK</strong> · 1440×900 · containment pass</figcaption>
21
+ </figure>
22
+ <figure>
23
+ <img src="runtime-architecture.visual-check.2048x1320.light.png" alt="light 2048 by 1320">
24
+ <figcaption><strong>LIGHT</strong> · 2048×1320 · containment pass</figcaption>
25
+ </figure>
26
+ <figure>
27
+ <img src="runtime-architecture.visual-check.2048x1320.dark.png" alt="dark 2048 by 1320">
28
+ <figcaption><strong>DARK</strong> · 2048×1320 · containment pass</figcaption>
29
+ </figure>
30
+ </main>
31
+ </body>
32
+ </html>
@@ -0,0 +1,548 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "ok": true,
4
+ "command": "visual-check",
5
+ "evidenceKind": "automated-browser",
6
+ "status": "pass",
7
+ "visualReview": "pending",
8
+ "artifact": {
9
+ "path": "/Users/lichaofan/DeepseekHarnessProject/dsh-plugin-mobile-gateway/docs/runtime-architecture.html",
10
+ "sha256": "9bf712d96fb1487b2c7ff731f92c94b6d02433fcb3a186316438778de5d67e1c",
11
+ "bytes": 812726
12
+ },
13
+ "state": {
14
+ "detail": "read",
15
+ "motion": "still"
16
+ },
17
+ "chrome": {
18
+ "status": "available",
19
+ "executable": "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
20
+ },
21
+ "diagnostics": [],
22
+ "containment": {
23
+ "status": "pass",
24
+ "viewports": [
25
+ {
26
+ "width": 1440,
27
+ "height": 900,
28
+ "theme": "light",
29
+ "innerWidth": 1440,
30
+ "innerHeight": 900,
31
+ "scrollWidth": 1440,
32
+ "scrollHeight": 900,
33
+ "overflowX": false,
34
+ "overflowY": false,
35
+ "ok": true,
36
+ "readerWidth": 1057,
37
+ "diagramWidth": 1027,
38
+ "viewBoxWidth": 1300,
39
+ "minimumProjectedNodeTextPx": 6.636000000000001,
40
+ "minimumProjectedNodeText": "SessionEvent · control · workspace",
41
+ "minimumProjectedNodeTextDetail": "context",
42
+ "minimumRequiredNodeTextPx": 6,
43
+ "readabilityOk": true,
44
+ "hasLegend": true,
45
+ "hasNavigationDock": true,
46
+ "legendDockIntersectionArea": 0,
47
+ "dockStageIntersectionArea": 0,
48
+ "dockStageGap": 10.21875,
49
+ "requiredDockStageGap": 10,
50
+ "viewerChromeStageOk": true,
51
+ "viewerChromeReserve": 51,
52
+ "viewerChromeActive": true,
53
+ "viewerChromeOk": true,
54
+ "resolvedTheme": "light"
55
+ },
56
+ {
57
+ "width": 1600,
58
+ "height": 1000,
59
+ "theme": "light",
60
+ "innerWidth": 1600,
61
+ "innerHeight": 1000,
62
+ "scrollWidth": 1600,
63
+ "scrollHeight": 1000,
64
+ "overflowX": false,
65
+ "overflowY": false,
66
+ "ok": true,
67
+ "readerWidth": 1091,
68
+ "diagramWidth": 1061,
69
+ "viewBoxWidth": 1300,
70
+ "minimumProjectedNodeTextPx": 6.8556923076923075,
71
+ "minimumProjectedNodeText": "SessionEvent · control · workspace",
72
+ "minimumProjectedNodeTextDetail": "context",
73
+ "minimumRequiredNodeTextPx": 6,
74
+ "readabilityOk": true,
75
+ "hasLegend": true,
76
+ "hasNavigationDock": true,
77
+ "legendDockIntersectionArea": 0,
78
+ "dockStageIntersectionArea": 0,
79
+ "dockStageGap": 10.21875,
80
+ "requiredDockStageGap": 10,
81
+ "viewerChromeStageOk": true,
82
+ "viewerChromeReserve": 51,
83
+ "viewerChromeActive": true,
84
+ "viewerChromeOk": true,
85
+ "resolvedTheme": "light"
86
+ },
87
+ {
88
+ "width": 1920,
89
+ "height": 1080,
90
+ "theme": "light",
91
+ "innerWidth": 1920,
92
+ "innerHeight": 1080,
93
+ "scrollWidth": 1920,
94
+ "scrollHeight": 1080,
95
+ "overflowX": false,
96
+ "overflowY": false,
97
+ "ok": true,
98
+ "readerWidth": 1239,
99
+ "diagramWidth": 1209,
100
+ "viewBoxWidth": 1300,
101
+ "minimumProjectedNodeTextPx": 7.812000000000001,
102
+ "minimumProjectedNodeText": "SessionEvent · control · workspace",
103
+ "minimumProjectedNodeTextDetail": "context",
104
+ "minimumRequiredNodeTextPx": 6,
105
+ "readabilityOk": true,
106
+ "hasLegend": true,
107
+ "hasNavigationDock": true,
108
+ "legendDockIntersectionArea": 0,
109
+ "dockStageIntersectionArea": 0,
110
+ "dockStageGap": 10.21875,
111
+ "requiredDockStageGap": 10,
112
+ "viewerChromeStageOk": true,
113
+ "viewerChromeReserve": 51,
114
+ "viewerChromeActive": true,
115
+ "viewerChromeOk": true,
116
+ "resolvedTheme": "light"
117
+ },
118
+ {
119
+ "width": 2048,
120
+ "height": 1320,
121
+ "theme": "light",
122
+ "innerWidth": 2048,
123
+ "innerHeight": 1320,
124
+ "scrollWidth": 2048,
125
+ "scrollHeight": 1320,
126
+ "overflowX": false,
127
+ "overflowY": false,
128
+ "ok": true,
129
+ "readerWidth": 1627,
130
+ "diagramWidth": 1577,
131
+ "viewBoxWidth": 1300,
132
+ "minimumProjectedNodeTextPx": 8.4,
133
+ "minimumProjectedNodeText": "SessionEvent · control · workspace",
134
+ "minimumProjectedNodeTextDetail": "context",
135
+ "minimumRequiredNodeTextPx": 6,
136
+ "readabilityOk": true,
137
+ "hasLegend": true,
138
+ "hasNavigationDock": true,
139
+ "legendDockIntersectionArea": 0,
140
+ "dockStageIntersectionArea": 0,
141
+ "dockStageGap": 10.21875,
142
+ "requiredDockStageGap": 10,
143
+ "viewerChromeStageOk": true,
144
+ "viewerChromeReserve": 41,
145
+ "viewerChromeActive": true,
146
+ "viewerChromeOk": true,
147
+ "resolvedTheme": "light"
148
+ }
149
+ ]
150
+ },
151
+ "readability": {
152
+ "status": "pass",
153
+ "minimumProjectedNodeTextPx": 6,
154
+ "viewports": [
155
+ {
156
+ "width": 1440,
157
+ "height": 900,
158
+ "theme": "light",
159
+ "innerWidth": 1440,
160
+ "innerHeight": 900,
161
+ "scrollWidth": 1440,
162
+ "scrollHeight": 900,
163
+ "overflowX": false,
164
+ "overflowY": false,
165
+ "ok": true,
166
+ "readerWidth": 1057,
167
+ "diagramWidth": 1027,
168
+ "viewBoxWidth": 1300,
169
+ "minimumProjectedNodeTextPx": 6.636000000000001,
170
+ "minimumProjectedNodeText": "SessionEvent · control · workspace",
171
+ "minimumProjectedNodeTextDetail": "context",
172
+ "minimumRequiredNodeTextPx": 6,
173
+ "readabilityOk": true,
174
+ "hasLegend": true,
175
+ "hasNavigationDock": true,
176
+ "legendDockIntersectionArea": 0,
177
+ "dockStageIntersectionArea": 0,
178
+ "dockStageGap": 10.21875,
179
+ "requiredDockStageGap": 10,
180
+ "viewerChromeStageOk": true,
181
+ "viewerChromeReserve": 51,
182
+ "viewerChromeActive": true,
183
+ "viewerChromeOk": true,
184
+ "resolvedTheme": "light"
185
+ },
186
+ {
187
+ "width": 1600,
188
+ "height": 1000,
189
+ "theme": "light",
190
+ "innerWidth": 1600,
191
+ "innerHeight": 1000,
192
+ "scrollWidth": 1600,
193
+ "scrollHeight": 1000,
194
+ "overflowX": false,
195
+ "overflowY": false,
196
+ "ok": true,
197
+ "readerWidth": 1091,
198
+ "diagramWidth": 1061,
199
+ "viewBoxWidth": 1300,
200
+ "minimumProjectedNodeTextPx": 6.8556923076923075,
201
+ "minimumProjectedNodeText": "SessionEvent · control · workspace",
202
+ "minimumProjectedNodeTextDetail": "context",
203
+ "minimumRequiredNodeTextPx": 6,
204
+ "readabilityOk": true,
205
+ "hasLegend": true,
206
+ "hasNavigationDock": true,
207
+ "legendDockIntersectionArea": 0,
208
+ "dockStageIntersectionArea": 0,
209
+ "dockStageGap": 10.21875,
210
+ "requiredDockStageGap": 10,
211
+ "viewerChromeStageOk": true,
212
+ "viewerChromeReserve": 51,
213
+ "viewerChromeActive": true,
214
+ "viewerChromeOk": true,
215
+ "resolvedTheme": "light"
216
+ },
217
+ {
218
+ "width": 1920,
219
+ "height": 1080,
220
+ "theme": "light",
221
+ "innerWidth": 1920,
222
+ "innerHeight": 1080,
223
+ "scrollWidth": 1920,
224
+ "scrollHeight": 1080,
225
+ "overflowX": false,
226
+ "overflowY": false,
227
+ "ok": true,
228
+ "readerWidth": 1239,
229
+ "diagramWidth": 1209,
230
+ "viewBoxWidth": 1300,
231
+ "minimumProjectedNodeTextPx": 7.812000000000001,
232
+ "minimumProjectedNodeText": "SessionEvent · control · workspace",
233
+ "minimumProjectedNodeTextDetail": "context",
234
+ "minimumRequiredNodeTextPx": 6,
235
+ "readabilityOk": true,
236
+ "hasLegend": true,
237
+ "hasNavigationDock": true,
238
+ "legendDockIntersectionArea": 0,
239
+ "dockStageIntersectionArea": 0,
240
+ "dockStageGap": 10.21875,
241
+ "requiredDockStageGap": 10,
242
+ "viewerChromeStageOk": true,
243
+ "viewerChromeReserve": 51,
244
+ "viewerChromeActive": true,
245
+ "viewerChromeOk": true,
246
+ "resolvedTheme": "light"
247
+ },
248
+ {
249
+ "width": 2048,
250
+ "height": 1320,
251
+ "theme": "light",
252
+ "innerWidth": 2048,
253
+ "innerHeight": 1320,
254
+ "scrollWidth": 2048,
255
+ "scrollHeight": 1320,
256
+ "overflowX": false,
257
+ "overflowY": false,
258
+ "ok": true,
259
+ "readerWidth": 1627,
260
+ "diagramWidth": 1577,
261
+ "viewBoxWidth": 1300,
262
+ "minimumProjectedNodeTextPx": 8.4,
263
+ "minimumProjectedNodeText": "SessionEvent · control · workspace",
264
+ "minimumProjectedNodeTextDetail": "context",
265
+ "minimumRequiredNodeTextPx": 6,
266
+ "readabilityOk": true,
267
+ "hasLegend": true,
268
+ "hasNavigationDock": true,
269
+ "legendDockIntersectionArea": 0,
270
+ "dockStageIntersectionArea": 0,
271
+ "dockStageGap": 10.21875,
272
+ "requiredDockStageGap": 10,
273
+ "viewerChromeStageOk": true,
274
+ "viewerChromeReserve": 41,
275
+ "viewerChromeActive": true,
276
+ "viewerChromeOk": true,
277
+ "resolvedTheme": "light"
278
+ }
279
+ ]
280
+ },
281
+ "viewerChrome": {
282
+ "status": "pass",
283
+ "viewports": [
284
+ {
285
+ "width": 1440,
286
+ "height": 900,
287
+ "theme": "light",
288
+ "innerWidth": 1440,
289
+ "innerHeight": 900,
290
+ "scrollWidth": 1440,
291
+ "scrollHeight": 900,
292
+ "overflowX": false,
293
+ "overflowY": false,
294
+ "ok": true,
295
+ "readerWidth": 1057,
296
+ "diagramWidth": 1027,
297
+ "viewBoxWidth": 1300,
298
+ "minimumProjectedNodeTextPx": 6.636000000000001,
299
+ "minimumProjectedNodeText": "SessionEvent · control · workspace",
300
+ "minimumProjectedNodeTextDetail": "context",
301
+ "minimumRequiredNodeTextPx": 6,
302
+ "readabilityOk": true,
303
+ "hasLegend": true,
304
+ "hasNavigationDock": true,
305
+ "legendDockIntersectionArea": 0,
306
+ "dockStageIntersectionArea": 0,
307
+ "dockStageGap": 10.21875,
308
+ "requiredDockStageGap": 10,
309
+ "viewerChromeStageOk": true,
310
+ "viewerChromeReserve": 51,
311
+ "viewerChromeActive": true,
312
+ "viewerChromeOk": true,
313
+ "resolvedTheme": "light"
314
+ },
315
+ {
316
+ "width": 1600,
317
+ "height": 1000,
318
+ "theme": "light",
319
+ "innerWidth": 1600,
320
+ "innerHeight": 1000,
321
+ "scrollWidth": 1600,
322
+ "scrollHeight": 1000,
323
+ "overflowX": false,
324
+ "overflowY": false,
325
+ "ok": true,
326
+ "readerWidth": 1091,
327
+ "diagramWidth": 1061,
328
+ "viewBoxWidth": 1300,
329
+ "minimumProjectedNodeTextPx": 6.8556923076923075,
330
+ "minimumProjectedNodeText": "SessionEvent · control · workspace",
331
+ "minimumProjectedNodeTextDetail": "context",
332
+ "minimumRequiredNodeTextPx": 6,
333
+ "readabilityOk": true,
334
+ "hasLegend": true,
335
+ "hasNavigationDock": true,
336
+ "legendDockIntersectionArea": 0,
337
+ "dockStageIntersectionArea": 0,
338
+ "dockStageGap": 10.21875,
339
+ "requiredDockStageGap": 10,
340
+ "viewerChromeStageOk": true,
341
+ "viewerChromeReserve": 51,
342
+ "viewerChromeActive": true,
343
+ "viewerChromeOk": true,
344
+ "resolvedTheme": "light"
345
+ },
346
+ {
347
+ "width": 1920,
348
+ "height": 1080,
349
+ "theme": "light",
350
+ "innerWidth": 1920,
351
+ "innerHeight": 1080,
352
+ "scrollWidth": 1920,
353
+ "scrollHeight": 1080,
354
+ "overflowX": false,
355
+ "overflowY": false,
356
+ "ok": true,
357
+ "readerWidth": 1239,
358
+ "diagramWidth": 1209,
359
+ "viewBoxWidth": 1300,
360
+ "minimumProjectedNodeTextPx": 7.812000000000001,
361
+ "minimumProjectedNodeText": "SessionEvent · control · workspace",
362
+ "minimumProjectedNodeTextDetail": "context",
363
+ "minimumRequiredNodeTextPx": 6,
364
+ "readabilityOk": true,
365
+ "hasLegend": true,
366
+ "hasNavigationDock": true,
367
+ "legendDockIntersectionArea": 0,
368
+ "dockStageIntersectionArea": 0,
369
+ "dockStageGap": 10.21875,
370
+ "requiredDockStageGap": 10,
371
+ "viewerChromeStageOk": true,
372
+ "viewerChromeReserve": 51,
373
+ "viewerChromeActive": true,
374
+ "viewerChromeOk": true,
375
+ "resolvedTheme": "light"
376
+ },
377
+ {
378
+ "width": 2048,
379
+ "height": 1320,
380
+ "theme": "light",
381
+ "innerWidth": 2048,
382
+ "innerHeight": 1320,
383
+ "scrollWidth": 2048,
384
+ "scrollHeight": 1320,
385
+ "overflowX": false,
386
+ "overflowY": false,
387
+ "ok": true,
388
+ "readerWidth": 1627,
389
+ "diagramWidth": 1577,
390
+ "viewBoxWidth": 1300,
391
+ "minimumProjectedNodeTextPx": 8.4,
392
+ "minimumProjectedNodeText": "SessionEvent · control · workspace",
393
+ "minimumProjectedNodeTextDetail": "context",
394
+ "minimumRequiredNodeTextPx": 6,
395
+ "readabilityOk": true,
396
+ "hasLegend": true,
397
+ "hasNavigationDock": true,
398
+ "legendDockIntersectionArea": 0,
399
+ "dockStageIntersectionArea": 0,
400
+ "dockStageGap": 10.21875,
401
+ "requiredDockStageGap": 10,
402
+ "viewerChromeStageOk": true,
403
+ "viewerChromeReserve": 41,
404
+ "viewerChromeActive": true,
405
+ "viewerChromeOk": true,
406
+ "resolvedTheme": "light"
407
+ }
408
+ ]
409
+ },
410
+ "captures": {
411
+ "status": "pass",
412
+ "screenshots": [
413
+ {
414
+ "width": 1440,
415
+ "height": 900,
416
+ "theme": "light",
417
+ "innerWidth": 1440,
418
+ "innerHeight": 900,
419
+ "scrollWidth": 1440,
420
+ "scrollHeight": 900,
421
+ "overflowX": false,
422
+ "overflowY": false,
423
+ "ok": true,
424
+ "readerWidth": 1057,
425
+ "diagramWidth": 1027,
426
+ "viewBoxWidth": 1300,
427
+ "minimumProjectedNodeTextPx": 6.636000000000001,
428
+ "minimumProjectedNodeText": "SessionEvent · control · workspace",
429
+ "minimumProjectedNodeTextDetail": "context",
430
+ "minimumRequiredNodeTextPx": 6,
431
+ "readabilityOk": true,
432
+ "hasLegend": true,
433
+ "hasNavigationDock": true,
434
+ "legendDockIntersectionArea": 0,
435
+ "dockStageIntersectionArea": 0,
436
+ "dockStageGap": 10.21875,
437
+ "requiredDockStageGap": 10,
438
+ "viewerChromeStageOk": true,
439
+ "viewerChromeReserve": 51,
440
+ "viewerChromeActive": true,
441
+ "viewerChromeOk": true,
442
+ "resolvedTheme": "light",
443
+ "file": "runtime-architecture.visual-check.1440x900.light.png"
444
+ },
445
+ {
446
+ "width": 1440,
447
+ "height": 900,
448
+ "theme": "dark",
449
+ "innerWidth": 1440,
450
+ "innerHeight": 900,
451
+ "scrollWidth": 1440,
452
+ "scrollHeight": 900,
453
+ "overflowX": false,
454
+ "overflowY": false,
455
+ "ok": true,
456
+ "readerWidth": 1057,
457
+ "diagramWidth": 1027,
458
+ "viewBoxWidth": 1300,
459
+ "minimumProjectedNodeTextPx": 6.636000000000001,
460
+ "minimumProjectedNodeText": "SessionEvent · control · workspace",
461
+ "minimumProjectedNodeTextDetail": "context",
462
+ "minimumRequiredNodeTextPx": 6,
463
+ "readabilityOk": true,
464
+ "hasLegend": true,
465
+ "hasNavigationDock": true,
466
+ "legendDockIntersectionArea": 0,
467
+ "dockStageIntersectionArea": 0,
468
+ "dockStageGap": 10.21875,
469
+ "requiredDockStageGap": 10,
470
+ "viewerChromeStageOk": true,
471
+ "viewerChromeReserve": 51,
472
+ "viewerChromeActive": true,
473
+ "viewerChromeOk": true,
474
+ "resolvedTheme": "dark",
475
+ "file": "runtime-architecture.visual-check.1440x900.dark.png"
476
+ },
477
+ {
478
+ "width": 2048,
479
+ "height": 1320,
480
+ "theme": "light",
481
+ "innerWidth": 2048,
482
+ "innerHeight": 1320,
483
+ "scrollWidth": 2048,
484
+ "scrollHeight": 1320,
485
+ "overflowX": false,
486
+ "overflowY": false,
487
+ "ok": true,
488
+ "readerWidth": 1627,
489
+ "diagramWidth": 1577,
490
+ "viewBoxWidth": 1300,
491
+ "minimumProjectedNodeTextPx": 8.4,
492
+ "minimumProjectedNodeText": "SessionEvent · control · workspace",
493
+ "minimumProjectedNodeTextDetail": "context",
494
+ "minimumRequiredNodeTextPx": 6,
495
+ "readabilityOk": true,
496
+ "hasLegend": true,
497
+ "hasNavigationDock": true,
498
+ "legendDockIntersectionArea": 0,
499
+ "dockStageIntersectionArea": 0,
500
+ "dockStageGap": 10.21875,
501
+ "requiredDockStageGap": 10,
502
+ "viewerChromeStageOk": true,
503
+ "viewerChromeReserve": 41,
504
+ "viewerChromeActive": true,
505
+ "viewerChromeOk": true,
506
+ "resolvedTheme": "light",
507
+ "file": "runtime-architecture.visual-check.2048x1320.light.png"
508
+ },
509
+ {
510
+ "width": 2048,
511
+ "height": 1320,
512
+ "theme": "dark",
513
+ "innerWidth": 2048,
514
+ "innerHeight": 1320,
515
+ "scrollWidth": 2048,
516
+ "scrollHeight": 1320,
517
+ "overflowX": false,
518
+ "overflowY": false,
519
+ "ok": true,
520
+ "readerWidth": 1627,
521
+ "diagramWidth": 1577,
522
+ "viewBoxWidth": 1300,
523
+ "minimumProjectedNodeTextPx": 8.4,
524
+ "minimumProjectedNodeText": "SessionEvent · control · workspace",
525
+ "minimumProjectedNodeTextDetail": "context",
526
+ "minimumRequiredNodeTextPx": 6,
527
+ "readabilityOk": true,
528
+ "hasLegend": true,
529
+ "hasNavigationDock": true,
530
+ "legendDockIntersectionArea": 0,
531
+ "dockStageIntersectionArea": 0,
532
+ "dockStageGap": 10.21875,
533
+ "requiredDockStageGap": 10,
534
+ "viewerChromeStageOk": true,
535
+ "viewerChromeReserve": 41,
536
+ "viewerChromeActive": true,
537
+ "viewerChromeOk": true,
538
+ "resolvedTheme": "dark",
539
+ "file": "runtime-architecture.visual-check.2048x1320.dark.png"
540
+ }
541
+ ],
542
+ "contactSheet": "runtime-architecture.visual-check.html"
543
+ },
544
+ "sidecars": {
545
+ "receipt": "runtime-architecture.visual-check.json",
546
+ "contactSheet": "runtime-architecture.visual-check.html"
547
+ }
548
+ }
@@ -10,14 +10,11 @@
10
10
 
11
11
  ## 版本基线与兼容性
12
12
 
13
- - [x] 支持 DSH `0.1.2-rc.1` 的 Typert Remote 基础契约。
13
+ - [x] 以 DSH `0.1.5-rc.2` / Session format 3 为唯一适配基线,不提供旧 Host 分支。
14
14
  - [x] 使用独立 Host Adapter 隔离 DSH Remote namespace、method 和严格参数名。
15
- - [x] 保持移动端 `dsh-mobile-v1`、`hello.protocol = 3` 和现有字段兼容。
16
- - [ ] 支持 DSH `0.1.3-alpha.1` 的 Typert Remote 契约。
17
- - [ ] 同时兼容 `0.1.2-rc.1` 与 `0.1.3-alpha.1`,不要求移动端同步升级。
18
- - [ ] 增加 Host Remote 能力探测并在进程生命周期内缓存探测结果。
19
- - [ ] 为 `0.1.3-alpha.1` 建立独立的 fake gateway 契约测试。
20
- - [ ] 建立 RC1 与 Alpha1 双版本回归测试矩阵。
15
+ - [x] 保留移动配对和 `dsh-mobile-v1`、`hello.protocol = 3`;新增独立实时流需移动端接入。
16
+ - [x] rc.2 输入契约、流状态机和真实 WebSocket mock Host 回归测试。
17
+ - [ ] rc.2 真实 Host 与移动 App 完整联调。
21
18
 
22
19
  ## 连接、鉴权与通用传输
23
20
 
@@ -67,16 +64,17 @@
67
64
 
68
65
  ## 实时会话流与状态同步
69
66
 
70
- - [x] 在 `0.1.2-rc.1` 上通过 Host `session/event` 转发实时 SessionEvent。
67
+ - [x] 通过 Host `session/event` 向未启用 follow 的连接转发持久 SessionEvent。
71
68
  - [x] 转发 `todos` projection 的增量更新。
72
69
  - [x] 转发 `goal` projection 的增量更新。
73
70
  - [x] 将 WebUI 或其他客户端写入的 `session/title` 变化实时通知移动端。
74
71
  - [x] 将 Workspace 归档集合变化实时通知移动端。
75
- - [ ] 在 `0.1.3-alpha.1` 上使用 `session.follow({ assistantStream: true })` 接收实时 Assistant 流。
76
- - [ ] 将 `assistant-stream` 的 start/chunk/end 帧转换为现有移动端实时事件。
77
- - [ ] 处理 Assistant Stream reconnect baseline、revision、index 和 settlement。
78
- - [ ] 使用 `session.follow` 持续接收 durable event,而不只读取 opening snapshot。
79
- - [ ] 在断线重连或序号出现缺口时自动补齐 Session 历史。
72
+ - [x] 在 `0.1.5-rc.2` 上使用 `session.follow({ assistantStream: true })` 接收实时 Assistant 流。
73
+ - [x] 将 `assistant-stream` 的 start/chunk/end 转发为独立移动帧,并从 start/基线补齐 turn/step。
74
+ - [x] 处理 Assistant Stream reconnect baseline、revision、index 和 settlement。
75
+ - [x] 使用 `session.follow` 持续接收 durable event,而不只读取 opening snapshot。
76
+ - [x] 上游断流或序号出现缺口时重建 Session 快照;移动连接重建后重新订阅恢复。
77
+ - [x] 安装并向控制连接重放 todos/goal projection baseline。
80
78
  - [x] 处理 `session.control` baseline 中的 queues,并在重连时整体替换。
81
79
  - [ ] 处理 `session.control` baseline 中的 jobs。
82
80
  - [ ] 处理 `session.control` baseline 中除 `todos`、`goal` 外的 projections。
@@ -93,27 +91,27 @@
93
91
 
94
92
  - [x] 读取 Session opening snapshot。
95
93
  - [x] 分页读取更早的历史记录。
96
- - [x] 展开 RC1 `chunkrow/text-chunks` 历史记录。
97
- - [x] 展开 RC1 `chunkrow/reasoning-chunks` 历史记录。
98
- - [x] 展开 RC1 `chunkrow/tool-call-chunks` 历史记录。
94
+ - [x] 读取 format 3 event 记录,保留真实 seq 与内嵌 stream,不展开为虚构序号。
95
+ - [x] 输出历史格式/cursor;拒绝缺失或不匹配版本的分页/fork 游标。
99
96
  - [x] 支持移动端历史帧字节预算。
100
97
  - [x] 支持 conversation 裁剪视图。
101
98
  - [x] 读取历史图片附件字节。
102
99
  - [x] 查询 Session 统计信息。
103
100
  - [x] 查询 Token Usage 与 Context Pressure。
104
- - [ ] 完整适配 Alpha1 的 Assistant attempt 与 compact stream 历史展示。
101
+ - [x] 原始历史和实时事件保留 Assistant attempt,conversation 历史移除内嵌 stream。
102
+ - [ ] 移动端完成独立 Assistant 流及 attempt 明细展示。
105
103
 
106
104
  ## Host 命令与技能
107
105
 
108
106
  - [x] 按 Session 列出 Host 命令。
109
- - [x] 执行 `0.1.2-rc.1` Host 命令。
107
+ - [x] 执行 `0.1.5-rc.2` Host 命令。
110
108
  - [x] 转发 `command/run` 与 `command/done` 生命周期事件。
111
109
  - [x] 提供服务端驱动的命令菜单 UI 描述。
112
110
  - [x] 提供模型和权限的通用二级选择菜单。
113
111
  - [x] 按 Session 列出用户可调用技能。
114
112
  - [x] 区分 Model 可调用技能与仅用户技能。
115
- - [ ] 适配 Alpha1 `commands.execute.submittedAttachments` 参数。
116
- - [ ] 同时识别 RC1 `input.images` 与 Alpha1 `input.attachments` 命令描述。
113
+ - [x] 适配 rc.2 `commands.execute.submittedAttachments` 参数。
114
+ - [x] 识别 rc.2 `input.attachments` 命令描述。
117
115
  - [ ] 支持向 Host 命令附加普通文件 receipt。
118
116
  - [ ] 实时同步 `commands/change`,使移动端命令目录自动刷新。
119
117
 
@@ -290,7 +288,7 @@
290
288
  - [ ] Host Adapter 已封装对应 Remote 调用或流,不在业务层散落 namespace/method。
291
289
  - [ ] 移动端协议请求、响应和错误形态已经定义。
292
290
  - [ ] 对应单元测试或网关端到端测试通过。
293
- - [ ] RC1/Alpha1 相关兼容测试通过,或明确声明该功能只在指定 Host 版本启用。
291
+ - [ ] DSH 0.1.5-rc.2 相关契约和行为测试通过。
294
292
  - [ ] `PROTOCOL.md` 与 README 中面向用户的能力说明已经同步。
295
293
 
296
294
  > 本节是每个新功能的验收模板,不表示当前所有待实现功能已经满足这些条件,因此保持未勾选。