@bongos/core 1.21.39 → 1.21.41
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/.bongos-core.json +144 -84
- package/clients/bongos-client/README.md +1 -1
- package/clients/bongos-client/bongos-client.global.js +16 -0
- package/clients/bongos-client/index.cjs +16 -0
- package/clients/bongos-client/index.d.ts +25 -0
- package/clients/bongos-client/index.mjs +16 -0
- package/docs/api/openapi.json +492 -3
- package/docs/api-reference.md +13 -1
- package/docs/copy-inventory.md +29 -13
- package/docs/copy-registry.json +177 -23
- package/docs/file-map.md +1 -0
- package/docs/module-api-changelog.md +4 -0
- package/docs/page-inventory.json +14 -2
- package/docs/page-readings.json +601 -554
- package/modules/government/docket.js +14 -0
- package/modules/hall-ui/public/atlas.html +3 -3
- package/modules/hall-ui/public/blockers.html +3 -3
- package/modules/hall-ui/public/board-room.html +3 -3
- package/modules/hall-ui/public/city.html +3 -3
- package/modules/hall-ui/public/collab.html +3 -3
- package/modules/hall-ui/public/commands.html +3 -3
- package/modules/hall-ui/public/copy-desk.html +3 -3
- package/modules/hall-ui/public/craft-mode.js +62 -0
- package/modules/hall-ui/public/deploy.html +3 -3
- package/modules/hall-ui/public/diagrams.html +3 -3
- package/modules/hall-ui/public/drachmae.html +3 -3
- package/modules/hall-ui/public/fleet.html +3 -3
- package/modules/hall-ui/public/gate.html +3 -3
- package/modules/hall-ui/public/goal-map.html +3 -3
- package/modules/hall-ui/public/goals.html +3 -3
- package/modules/hall-ui/public/government.html +3 -3
- package/modules/hall-ui/public/idea.html +3 -3
- package/modules/hall-ui/public/ideas.html +3 -3
- package/modules/hall-ui/public/index.html +3 -3
- package/modules/hall-ui/public/modules.html +3 -3
- package/modules/hall-ui/public/page-notes.js +320 -0
- package/modules/hall-ui/public/primer.html +3 -3
- package/modules/hall-ui/public/profile.html +3 -3
- package/modules/hall-ui/public/project-settings.html +3 -3
- package/modules/hall-ui/public/ranks.html +3 -3
- package/modules/hall-ui/public/roadmap.html +3 -3
- package/modules/hall-ui/public/roster.html +3 -3
- package/modules/hall-ui/public/sessions.html +3 -3
- package/modules/hall-ui/public/settings.html +3 -3
- package/modules/hall-ui/public/street-card.css +21 -2
- package/modules/hall-ui/public/street-card.js +198 -64
- package/modules/hall-ui/public/street-card.states.json +495 -7
- package/modules/hall-ui/public/street-desk.js +47 -2
- package/modules/hall-ui/public/street.css +1 -3
- package/modules/hall-ui/public/street.html +3 -4
- package/modules/hall-ui/public/street.js +42 -15
- package/modules/hall-ui/public/studio.html +3 -3
- package/modules/hall-ui/public/style.css +144 -0
- package/modules/hall-ui/public/task.html +3 -3
- package/modules/hall-ui/public/thinking.html +3 -3
- package/modules/hall-ui/public/tweak-editor.html +3 -3
- package/modules/hall-ui/public/watch.html +3 -3
- package/modules/hall-ui/public/work.html +3 -3
- package/modules/hall-ui/records/page-notes.md +16 -0
- package/modules/ideas/governor-docket.js +2 -0
- package/modules/lifecycle/governor-docket.js +4 -0
- package/modules/onboarding/routes/access-requests.js +2 -0
- package/modules/page-notes/CLAUDE.md +15 -0
- package/modules/page-notes/db.js +147 -0
- package/modules/page-notes/migrations/page_notes_001_notes.sql +68 -0
- package/modules/page-notes/module.json +13 -0
- package/modules/page-notes/notes.js +174 -0
- package/modules/page-notes/routes/page-notes.js +172 -0
- package/modules/page-notes/split.js +68 -0
- package/modules/provisioning/starter-bundles.js +1 -0
- package/modules/security/routes/reports.js +3 -0
- package/modules/ui-design/kit/serve.js +1 -1
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/release-notes.json +12 -0
- package/scripts/gds/publish-manifest.js +1 -0
- package/src/bongos/module-rechecks.js +12 -1
- package/src/bongos/module-scope-map.js +4 -0
- package/src/bongos/routes.js +4 -1
- package/src/module-api.js +1 -1
- package/tests/governor_docket.mjs +20 -0
- package/tests/hall_matter_card.mjs +143 -18
- package/tests/hall_street.mjs +1 -1
- package/tests/hall_tweak_editor.mjs +1 -1
- package/tests/module_loader.mjs +1 -1
- package/tests/page_notes.mjs +289 -0
- package/tests/page_notes_db.mjs +140 -0
- package/tests/page_notes_panel.mjs +145 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"_": "THE MATTER CARD THAT ACTS (task 1004528, goal 1000125) on the street page, through modules/ui-design/kit/render.js. Kept beside street.states.json rather than inside it, so the street and its interiors (task 1004526) and the card each own their states. The populated card needs the hall-preview harness, whose government__docket.json puts the review-seat amendment on the board source (board:47) and whose government__board__items.json carries its ballot (item 47), with a canned answer for a vote:\n\n node scripts/hall-preview/server.js --port 4625 --fixture-me\n node modules/ui-design/kit/render.js --states modules/hall-ui/public/street-card.states.json --base-in http://localhost:4625 --base-out http://localhost:4625\n\
|
|
2
|
+
"_": "THE MATTER CARD THAT ACTS (task 1004528, goal 1000125) on the street page, through modules/ui-design/kit/render.js. Kept beside street.states.json rather than inside it, so the street and its interiors (task 1004526) and the card each own their states. The populated card needs the hall-preview harness, whose government__docket.json puts the review-seat amendment on the board source (board:47) and whose government__board__items.json carries its ballot (item 47), with a canned answer for a vote:\n\n node scripts/hall-preview/server.js --port 4625 --fixture-me\n node modules/ui-design/kit/render.js --states modules/hall-ui/public/street-card.states.json --base-in http://localhost:4625 --base-out http://localhost:4625\n\nTask 1004566 adds a card per kind the docket carries (blocker, red-team report, core update, module re-check, a Full Idea and the review queue), each compact and with \"more\" open; the harness fixture carries them. Against the kit stub there is no docket and no pin, so these states are for the harness.",
|
|
3
3
|
"page": "/builders/street",
|
|
4
4
|
"surface": "hall-ui",
|
|
5
5
|
"stub": {
|
|
@@ -31,6 +31,14 @@
|
|
|
31
31
|
"wait",
|
|
32
32
|
900
|
|
33
33
|
],
|
|
34
|
+
[
|
|
35
|
+
"clickIfVisible",
|
|
36
|
+
"[data-craft-close]"
|
|
37
|
+
],
|
|
38
|
+
[
|
|
39
|
+
"wait",
|
|
40
|
+
300
|
|
41
|
+
],
|
|
34
42
|
[
|
|
35
43
|
"click",
|
|
36
44
|
".street-pin[data-matter=\"board:47\"]"
|
|
@@ -52,19 +60,27 @@
|
|
|
52
60
|
},
|
|
53
61
|
"object": {
|
|
54
62
|
"auth": true,
|
|
55
|
-
"_": "
|
|
63
|
+
"_": "no pressed: the desk row's one-tap reasons stand open under it (task 1004566).",
|
|
56
64
|
"actions": [
|
|
57
65
|
[
|
|
58
66
|
"wait",
|
|
59
67
|
900
|
|
60
68
|
],
|
|
61
69
|
[
|
|
62
|
-
"
|
|
70
|
+
"clickIfVisible",
|
|
71
|
+
"[data-craft-close]"
|
|
72
|
+
],
|
|
73
|
+
[
|
|
74
|
+
"wait",
|
|
75
|
+
300
|
|
76
|
+
],
|
|
77
|
+
[
|
|
78
|
+
"dispatchClick",
|
|
63
79
|
".street-pin[data-matter=\"board:47\"]"
|
|
64
80
|
],
|
|
65
81
|
[
|
|
66
82
|
"wait",
|
|
67
|
-
|
|
83
|
+
600
|
|
68
84
|
],
|
|
69
85
|
[
|
|
70
86
|
"click",
|
|
@@ -77,9 +93,8 @@
|
|
|
77
93
|
],
|
|
78
94
|
"expect": {
|
|
79
95
|
"visible": [
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"[data-act=\"object-send\"]"
|
|
96
|
+
".mcard-chips",
|
|
97
|
+
"[data-act=\"chip-scope\"]"
|
|
83
98
|
]
|
|
84
99
|
}
|
|
85
100
|
},
|
|
@@ -91,6 +106,14 @@
|
|
|
91
106
|
"wait",
|
|
92
107
|
900
|
|
93
108
|
],
|
|
109
|
+
[
|
|
110
|
+
"clickIfVisible",
|
|
111
|
+
"[data-craft-close]"
|
|
112
|
+
],
|
|
113
|
+
[
|
|
114
|
+
"wait",
|
|
115
|
+
300
|
|
116
|
+
],
|
|
94
117
|
[
|
|
95
118
|
"click",
|
|
96
119
|
".street-pin[data-matter=\"board:47\"]"
|
|
@@ -123,6 +146,14 @@
|
|
|
123
146
|
"wait",
|
|
124
147
|
900
|
|
125
148
|
],
|
|
149
|
+
[
|
|
150
|
+
"clickIfVisible",
|
|
151
|
+
"[data-craft-close]"
|
|
152
|
+
],
|
|
153
|
+
[
|
|
154
|
+
"wait",
|
|
155
|
+
300
|
|
156
|
+
],
|
|
126
157
|
[
|
|
127
158
|
"click",
|
|
128
159
|
".street-pin[data-matter=\"access_requests:7\"]"
|
|
@@ -147,6 +178,14 @@
|
|
|
147
178
|
"wait",
|
|
148
179
|
900
|
|
149
180
|
],
|
|
181
|
+
[
|
|
182
|
+
"clickIfVisible",
|
|
183
|
+
"[data-craft-close]"
|
|
184
|
+
],
|
|
185
|
+
[
|
|
186
|
+
"wait",
|
|
187
|
+
300
|
|
188
|
+
],
|
|
150
189
|
[
|
|
151
190
|
"click",
|
|
152
191
|
".street-pin[data-matter=\"override_requests:9\"]"
|
|
@@ -161,6 +200,455 @@
|
|
|
161
200
|
"#streetCard"
|
|
162
201
|
]
|
|
163
202
|
}
|
|
203
|
+
},
|
|
204
|
+
"blocker": {
|
|
205
|
+
"auth": true,
|
|
206
|
+
"_": "a blocker: decide by one of its options, which stand open (task 1004566), compact.",
|
|
207
|
+
"actions": [
|
|
208
|
+
[
|
|
209
|
+
"wait",
|
|
210
|
+
900
|
|
211
|
+
],
|
|
212
|
+
[
|
|
213
|
+
"clickIfVisible",
|
|
214
|
+
"[data-craft-close]"
|
|
215
|
+
],
|
|
216
|
+
[
|
|
217
|
+
"wait",
|
|
218
|
+
300
|
|
219
|
+
],
|
|
220
|
+
[
|
|
221
|
+
"dispatchClick",
|
|
222
|
+
".street-pin[data-matter=\"blockers:11\"]"
|
|
223
|
+
],
|
|
224
|
+
[
|
|
225
|
+
"wait",
|
|
226
|
+
600
|
|
227
|
+
]
|
|
228
|
+
],
|
|
229
|
+
"expect": {
|
|
230
|
+
"visible": [
|
|
231
|
+
"#streetCard",
|
|
232
|
+
"[data-act=\"decide\"]",
|
|
233
|
+
".mcard-chips"
|
|
234
|
+
],
|
|
235
|
+
"hidden": [
|
|
236
|
+
"#mcardMore"
|
|
237
|
+
]
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
"blocker-more": {
|
|
241
|
+
"auth": true,
|
|
242
|
+
"_": "a blocker: decide by one of its options, which stand open (task 1004566), with more open in place: the full text, who and when, the record.",
|
|
243
|
+
"actions": [
|
|
244
|
+
[
|
|
245
|
+
"wait",
|
|
246
|
+
900
|
|
247
|
+
],
|
|
248
|
+
[
|
|
249
|
+
"clickIfVisible",
|
|
250
|
+
"[data-craft-close]"
|
|
251
|
+
],
|
|
252
|
+
[
|
|
253
|
+
"wait",
|
|
254
|
+
300
|
|
255
|
+
],
|
|
256
|
+
[
|
|
257
|
+
"dispatchClick",
|
|
258
|
+
".street-pin[data-matter=\"blockers:11\"]"
|
|
259
|
+
],
|
|
260
|
+
[
|
|
261
|
+
"wait",
|
|
262
|
+
600
|
|
263
|
+
],
|
|
264
|
+
[
|
|
265
|
+
"click",
|
|
266
|
+
"[data-act=\"more\"]"
|
|
267
|
+
],
|
|
268
|
+
[
|
|
269
|
+
"wait",
|
|
270
|
+
300
|
|
271
|
+
]
|
|
272
|
+
],
|
|
273
|
+
"expect": {
|
|
274
|
+
"visible": [
|
|
275
|
+
"#mcardMore"
|
|
276
|
+
]
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
"report": {
|
|
280
|
+
"auth": true,
|
|
281
|
+
"_": "a red-team report: confirm or dispute (task 1004566), compact.",
|
|
282
|
+
"actions": [
|
|
283
|
+
[
|
|
284
|
+
"wait",
|
|
285
|
+
900
|
|
286
|
+
],
|
|
287
|
+
[
|
|
288
|
+
"clickIfVisible",
|
|
289
|
+
"[data-craft-close]"
|
|
290
|
+
],
|
|
291
|
+
[
|
|
292
|
+
"wait",
|
|
293
|
+
300
|
|
294
|
+
],
|
|
295
|
+
[
|
|
296
|
+
"dispatchClick",
|
|
297
|
+
".street-pin[data-matter=\"redteam_reports:4\"]"
|
|
298
|
+
],
|
|
299
|
+
[
|
|
300
|
+
"wait",
|
|
301
|
+
600
|
|
302
|
+
]
|
|
303
|
+
],
|
|
304
|
+
"expect": {
|
|
305
|
+
"visible": [
|
|
306
|
+
"#streetCard",
|
|
307
|
+
"[data-act=\"confirm\"]",
|
|
308
|
+
"[data-act=\"dispute\"]"
|
|
309
|
+
],
|
|
310
|
+
"hidden": [
|
|
311
|
+
"#mcardMore"
|
|
312
|
+
]
|
|
313
|
+
}
|
|
314
|
+
},
|
|
315
|
+
"report-more": {
|
|
316
|
+
"auth": true,
|
|
317
|
+
"_": "a red-team report: confirm or dispute (task 1004566), with more open in place: the full text, who and when, the record.",
|
|
318
|
+
"actions": [
|
|
319
|
+
[
|
|
320
|
+
"wait",
|
|
321
|
+
900
|
|
322
|
+
],
|
|
323
|
+
[
|
|
324
|
+
"clickIfVisible",
|
|
325
|
+
"[data-craft-close]"
|
|
326
|
+
],
|
|
327
|
+
[
|
|
328
|
+
"wait",
|
|
329
|
+
300
|
|
330
|
+
],
|
|
331
|
+
[
|
|
332
|
+
"dispatchClick",
|
|
333
|
+
".street-pin[data-matter=\"redteam_reports:4\"]"
|
|
334
|
+
],
|
|
335
|
+
[
|
|
336
|
+
"wait",
|
|
337
|
+
600
|
|
338
|
+
],
|
|
339
|
+
[
|
|
340
|
+
"click",
|
|
341
|
+
"[data-act=\"more\"]"
|
|
342
|
+
],
|
|
343
|
+
[
|
|
344
|
+
"wait",
|
|
345
|
+
300
|
|
346
|
+
]
|
|
347
|
+
],
|
|
348
|
+
"expect": {
|
|
349
|
+
"visible": [
|
|
350
|
+
"#mcardMore"
|
|
351
|
+
]
|
|
352
|
+
}
|
|
353
|
+
},
|
|
354
|
+
"core": {
|
|
355
|
+
"auth": true,
|
|
356
|
+
"_": "the core update: the Release desk's core row, check then take (task 1004566), compact.",
|
|
357
|
+
"actions": [
|
|
358
|
+
[
|
|
359
|
+
"wait",
|
|
360
|
+
900
|
|
361
|
+
],
|
|
362
|
+
[
|
|
363
|
+
"clickIfVisible",
|
|
364
|
+
"[data-craft-close]"
|
|
365
|
+
],
|
|
366
|
+
[
|
|
367
|
+
"wait",
|
|
368
|
+
300
|
|
369
|
+
],
|
|
370
|
+
[
|
|
371
|
+
"dispatchClick",
|
|
372
|
+
".street-pin[data-matter=\"core_update:1.21.20\"]"
|
|
373
|
+
],
|
|
374
|
+
[
|
|
375
|
+
"wait",
|
|
376
|
+
600
|
|
377
|
+
]
|
|
378
|
+
],
|
|
379
|
+
"expect": {
|
|
380
|
+
"visible": [
|
|
381
|
+
"#streetCard",
|
|
382
|
+
"[data-act=\"take\"]",
|
|
383
|
+
"[data-act=\"check\"]"
|
|
384
|
+
],
|
|
385
|
+
"hidden": [
|
|
386
|
+
"#mcardMore"
|
|
387
|
+
]
|
|
388
|
+
}
|
|
389
|
+
},
|
|
390
|
+
"core-more": {
|
|
391
|
+
"auth": true,
|
|
392
|
+
"_": "the core update: the Release desk's core row, check then take (task 1004566), with more open in place: the full text, who and when, the record.",
|
|
393
|
+
"actions": [
|
|
394
|
+
[
|
|
395
|
+
"wait",
|
|
396
|
+
900
|
|
397
|
+
],
|
|
398
|
+
[
|
|
399
|
+
"clickIfVisible",
|
|
400
|
+
"[data-craft-close]"
|
|
401
|
+
],
|
|
402
|
+
[
|
|
403
|
+
"wait",
|
|
404
|
+
300
|
|
405
|
+
],
|
|
406
|
+
[
|
|
407
|
+
"dispatchClick",
|
|
408
|
+
".street-pin[data-matter=\"core_update:1.21.20\"]"
|
|
409
|
+
],
|
|
410
|
+
[
|
|
411
|
+
"wait",
|
|
412
|
+
600
|
|
413
|
+
],
|
|
414
|
+
[
|
|
415
|
+
"click",
|
|
416
|
+
"[data-act=\"more\"]"
|
|
417
|
+
],
|
|
418
|
+
[
|
|
419
|
+
"wait",
|
|
420
|
+
300
|
|
421
|
+
]
|
|
422
|
+
],
|
|
423
|
+
"expect": {
|
|
424
|
+
"visible": [
|
|
425
|
+
"#mcardMore"
|
|
426
|
+
]
|
|
427
|
+
}
|
|
428
|
+
},
|
|
429
|
+
"recheck": {
|
|
430
|
+
"auth": true,
|
|
431
|
+
"_": "a module version that failed its security check: check it again, with a one-tap reason (task 1004566), compact.",
|
|
432
|
+
"actions": [
|
|
433
|
+
[
|
|
434
|
+
"wait",
|
|
435
|
+
900
|
|
436
|
+
],
|
|
437
|
+
[
|
|
438
|
+
"clickIfVisible",
|
|
439
|
+
"[data-craft-close]"
|
|
440
|
+
],
|
|
441
|
+
[
|
|
442
|
+
"wait",
|
|
443
|
+
300
|
|
444
|
+
],
|
|
445
|
+
[
|
|
446
|
+
"dispatchClick",
|
|
447
|
+
".street-pin[data-matter=\"module_rechecks:7\"]"
|
|
448
|
+
],
|
|
449
|
+
[
|
|
450
|
+
"wait",
|
|
451
|
+
600
|
|
452
|
+
]
|
|
453
|
+
],
|
|
454
|
+
"expect": {
|
|
455
|
+
"visible": [
|
|
456
|
+
"#streetCard",
|
|
457
|
+
"[data-act=\"recheck\"]"
|
|
458
|
+
],
|
|
459
|
+
"hidden": [
|
|
460
|
+
"#mcardMore"
|
|
461
|
+
]
|
|
462
|
+
}
|
|
463
|
+
},
|
|
464
|
+
"recheck-more": {
|
|
465
|
+
"auth": true,
|
|
466
|
+
"_": "a module version that failed its security check: check it again, with a one-tap reason (task 1004566), with more open in place: the full text, who and when, the record.",
|
|
467
|
+
"actions": [
|
|
468
|
+
[
|
|
469
|
+
"wait",
|
|
470
|
+
900
|
|
471
|
+
],
|
|
472
|
+
[
|
|
473
|
+
"clickIfVisible",
|
|
474
|
+
"[data-craft-close]"
|
|
475
|
+
],
|
|
476
|
+
[
|
|
477
|
+
"wait",
|
|
478
|
+
300
|
|
479
|
+
],
|
|
480
|
+
[
|
|
481
|
+
"dispatchClick",
|
|
482
|
+
".street-pin[data-matter=\"module_rechecks:7\"]"
|
|
483
|
+
],
|
|
484
|
+
[
|
|
485
|
+
"wait",
|
|
486
|
+
600
|
|
487
|
+
],
|
|
488
|
+
[
|
|
489
|
+
"click",
|
|
490
|
+
"[data-act=\"more\"]"
|
|
491
|
+
],
|
|
492
|
+
[
|
|
493
|
+
"wait",
|
|
494
|
+
300
|
|
495
|
+
]
|
|
496
|
+
],
|
|
497
|
+
"expect": {
|
|
498
|
+
"visible": [
|
|
499
|
+
"#mcardMore"
|
|
500
|
+
]
|
|
501
|
+
}
|
|
502
|
+
},
|
|
503
|
+
"idea": {
|
|
504
|
+
"auth": true,
|
|
505
|
+
"_": "a Full Idea: vote yes or no here; its sections are under more (task 1004566), compact.",
|
|
506
|
+
"actions": [
|
|
507
|
+
[
|
|
508
|
+
"wait",
|
|
509
|
+
900
|
|
510
|
+
],
|
|
511
|
+
[
|
|
512
|
+
"clickIfVisible",
|
|
513
|
+
"[data-craft-close]"
|
|
514
|
+
],
|
|
515
|
+
[
|
|
516
|
+
"wait",
|
|
517
|
+
300
|
|
518
|
+
],
|
|
519
|
+
[
|
|
520
|
+
"dispatchClick",
|
|
521
|
+
".street-pin[data-matter=\"board:41\"]"
|
|
522
|
+
],
|
|
523
|
+
[
|
|
524
|
+
"wait",
|
|
525
|
+
600
|
|
526
|
+
]
|
|
527
|
+
],
|
|
528
|
+
"expect": {
|
|
529
|
+
"visible": [
|
|
530
|
+
"#streetCard",
|
|
531
|
+
"[data-act=\"for\"]",
|
|
532
|
+
"[data-act=\"object\"]"
|
|
533
|
+
],
|
|
534
|
+
"hidden": [
|
|
535
|
+
"#mcardMore"
|
|
536
|
+
]
|
|
537
|
+
}
|
|
538
|
+
},
|
|
539
|
+
"idea-more": {
|
|
540
|
+
"auth": true,
|
|
541
|
+
"_": "a Full Idea: vote yes or no here; its sections are under more (task 1004566), with more open in place: the full text, who and when, the record.",
|
|
542
|
+
"actions": [
|
|
543
|
+
[
|
|
544
|
+
"wait",
|
|
545
|
+
900
|
|
546
|
+
],
|
|
547
|
+
[
|
|
548
|
+
"clickIfVisible",
|
|
549
|
+
"[data-craft-close]"
|
|
550
|
+
],
|
|
551
|
+
[
|
|
552
|
+
"wait",
|
|
553
|
+
300
|
|
554
|
+
],
|
|
555
|
+
[
|
|
556
|
+
"dispatchClick",
|
|
557
|
+
".street-pin[data-matter=\"board:41\"]"
|
|
558
|
+
],
|
|
559
|
+
[
|
|
560
|
+
"wait",
|
|
561
|
+
600
|
|
562
|
+
],
|
|
563
|
+
[
|
|
564
|
+
"click",
|
|
565
|
+
"[data-act=\"more\"]"
|
|
566
|
+
],
|
|
567
|
+
[
|
|
568
|
+
"wait",
|
|
569
|
+
300
|
|
570
|
+
]
|
|
571
|
+
],
|
|
572
|
+
"expect": {
|
|
573
|
+
"visible": [
|
|
574
|
+
"#mcardMore"
|
|
575
|
+
]
|
|
576
|
+
}
|
|
577
|
+
},
|
|
578
|
+
"queue": {
|
|
579
|
+
"auth": true,
|
|
580
|
+
"_": "the review queue: its first piece of work, signed off here (task 1004566), compact.",
|
|
581
|
+
"actions": [
|
|
582
|
+
[
|
|
583
|
+
"wait",
|
|
584
|
+
900
|
|
585
|
+
],
|
|
586
|
+
[
|
|
587
|
+
"clickIfVisible",
|
|
588
|
+
"[data-craft-close]"
|
|
589
|
+
],
|
|
590
|
+
[
|
|
591
|
+
"wait",
|
|
592
|
+
300
|
|
593
|
+
],
|
|
594
|
+
[
|
|
595
|
+
"dispatchClick",
|
|
596
|
+
".street-pin[data-matter=\"queue\"]"
|
|
597
|
+
],
|
|
598
|
+
[
|
|
599
|
+
"wait",
|
|
600
|
+
600
|
|
601
|
+
]
|
|
602
|
+
],
|
|
603
|
+
"expect": {
|
|
604
|
+
"visible": [
|
|
605
|
+
"#streetCard",
|
|
606
|
+
"[data-act=\"signoff\"]",
|
|
607
|
+
"[data-act=\"force\"]"
|
|
608
|
+
],
|
|
609
|
+
"hidden": [
|
|
610
|
+
"#mcardMore"
|
|
611
|
+
]
|
|
612
|
+
}
|
|
613
|
+
},
|
|
614
|
+
"queue-more": {
|
|
615
|
+
"auth": true,
|
|
616
|
+
"_": "the review queue: its first piece of work, signed off here (task 1004566), with more open in place: the full text, who and when, the record.",
|
|
617
|
+
"actions": [
|
|
618
|
+
[
|
|
619
|
+
"wait",
|
|
620
|
+
900
|
|
621
|
+
],
|
|
622
|
+
[
|
|
623
|
+
"clickIfVisible",
|
|
624
|
+
"[data-craft-close]"
|
|
625
|
+
],
|
|
626
|
+
[
|
|
627
|
+
"wait",
|
|
628
|
+
300
|
|
629
|
+
],
|
|
630
|
+
[
|
|
631
|
+
"dispatchClick",
|
|
632
|
+
".street-pin[data-matter=\"queue\"]"
|
|
633
|
+
],
|
|
634
|
+
[
|
|
635
|
+
"wait",
|
|
636
|
+
600
|
|
637
|
+
],
|
|
638
|
+
[
|
|
639
|
+
"click",
|
|
640
|
+
"[data-act=\"more\"]"
|
|
641
|
+
],
|
|
642
|
+
[
|
|
643
|
+
"wait",
|
|
644
|
+
300
|
|
645
|
+
]
|
|
646
|
+
],
|
|
647
|
+
"expect": {
|
|
648
|
+
"visible": [
|
|
649
|
+
"#mcardMore"
|
|
650
|
+
]
|
|
651
|
+
}
|
|
164
652
|
}
|
|
165
653
|
},
|
|
166
654
|
"reducedMotion": {
|
|
@@ -121,9 +121,11 @@
|
|
|
121
121
|
budget: 'set limit', unsign: 'undo',
|
|
122
122
|
// task 1004564: the proposer takes back their own sitting before any vote
|
|
123
123
|
withdraw: 'withdraw',
|
|
124
|
+
// task 1004566: a module version flagged by its security check, checked again
|
|
125
|
+
recheck: 'check again',
|
|
124
126
|
});
|
|
125
127
|
// What a row's chips ask, per act (a reason or an option is one tap, never text).
|
|
126
|
-
const ASKS = Object.freeze({ budget: 'monthly limit', unsign: 'why', decide: 'pick one', ratify_goal: 'which version', check: 'check', take_core: 'move to', rot: 'stale after', module_off: 'sure', invite: 'their GitHub name', object: 'why', force: 'why', switch_off: 'why', pause: 'why', deactivate: 'why', signoff: 'confirm', allow: 'which goal', tier: 'which tier', give: 'to whom', take: 'from whom' });
|
|
128
|
+
const ASKS = Object.freeze({ recheck: 'why', budget: 'monthly limit', unsign: 'why', decide: 'pick one', ratify_goal: 'which version', check: 'check', take_core: 'move to', rot: 'stale after', module_off: 'sure', invite: 'their GitHub name', object: 'why', force: 'why', switch_off: 'why', pause: 'why', deactivate: 'why', signoff: 'confirm', allow: 'which goal', tier: 'which tier', give: 'to whom', take: 'from whom' });
|
|
127
129
|
// How a floor counts rows nobody is waiting on (desk rows), by its desk.
|
|
128
130
|
const DESK_NOUNS = Object.freeze({
|
|
129
131
|
'people.builders': 'builders', 'people.ranks': 'ranks', 'disputes.confirmed': 'to fix',
|
|
@@ -314,6 +316,49 @@
|
|
|
314
316
|
.sort((a, b) => (b.needs - a.needs) || ((Date.parse(a.opened || 0) || 0) - (Date.parse(b.opened || 0) || 0)));
|
|
315
317
|
}
|
|
316
318
|
|
|
319
|
+
// ---------- the street's card (task 1004566) ----------
|
|
320
|
+
// The card a pin opens, with the SAME acts as the desk row for the same item:
|
|
321
|
+
// the matter's row (rowOf), or the desk row that stands in for its source
|
|
322
|
+
// (`over`: the Release desk's core row, check then take). `row` goes on the
|
|
323
|
+
// card model, and the card draws its buttons and chips (street-card.js
|
|
324
|
+
// render) and sends each act with the row's own card. ONE action model: a
|
|
325
|
+
// card never offers what the desk does not, nor the other way round.
|
|
326
|
+
// The review queue's pin opens its first piece of work (needs-you first, then
|
|
327
|
+
// oldest); ctx.pick opens another of the queue in the same card.
|
|
328
|
+
// ctx { room, constitution, now, viewerId, goals (open), pick }
|
|
329
|
+
function standIn(docket, m) {
|
|
330
|
+
if (!docket || !Array.isArray(docket.desks)) return null;
|
|
331
|
+
for (const d of docket.desks) {
|
|
332
|
+
if (!d || d.status !== 'live' || !Array.isArray(d.rows)) continue;
|
|
333
|
+
const hit = d.rows.find((r) => r && r.over === m.source && r.building === m.building);
|
|
334
|
+
if (hit) return hit;
|
|
335
|
+
}
|
|
336
|
+
return null;
|
|
337
|
+
}
|
|
338
|
+
function cardFor(key, docket, ctx) {
|
|
339
|
+
const c = Object.assign({ docket: docket }, ctx || {});
|
|
340
|
+
let k = str(key);
|
|
341
|
+
let queue = null;
|
|
342
|
+
const all = docket && Array.isArray(docket.matters) ? docket.matters : [];
|
|
343
|
+
if (k === 'queue') {
|
|
344
|
+
const q = all.filter((m) => m && m.building === 'review' && stateOf(m) !== 'settled')
|
|
345
|
+
.sort((a, b) => ((stateOf(b) === 'needs') - (stateOf(a) === 'needs')) || ((Date.parse(a.opened_at || 0) || 0) - (Date.parse(b.opened_at || 0) || 0)));
|
|
346
|
+
if (!q.length) return null;
|
|
347
|
+
const pick = q.find((m) => str(m.id) === str(c.pick)) || q[0];
|
|
348
|
+
queue = { n: q.length, others: q.filter((m) => m !== pick).slice(0, LIMITS.chips).map((m) => ({ key: str(m.id), title: fit(m.title || m.short, LIMITS.fact) })) };
|
|
349
|
+
k = str(pick.id);
|
|
350
|
+
}
|
|
351
|
+
const cv = C && C.model ? C.model({ docket: docket, key: k, room: c.room, constitution: c.constitution, now: c.now || 0, viewerId: c.viewerId }) : null;
|
|
352
|
+
if (!cv) return null;
|
|
353
|
+
cv.queue = queue;
|
|
354
|
+
const m = all.find((x) => x && str(x.id) === k);
|
|
355
|
+
if (!m || cv.loading) return cv;
|
|
356
|
+
const over = standIn(docket, m);
|
|
357
|
+
const row = over ? deskRowOf(over, c) : rowOf(m, c);
|
|
358
|
+
if (row.actions.length) { cv.row = row; cv.readOnly = false; }
|
|
359
|
+
return cv;
|
|
360
|
+
}
|
|
361
|
+
|
|
317
362
|
// ---------- the whole desk ----------
|
|
318
363
|
// input { key, floor (index), docket, goals (open), now, room, constitution,
|
|
319
364
|
// viewerId, done {matterId: true}, mine [what you did here, newest
|
|
@@ -474,7 +519,7 @@
|
|
|
474
519
|
|
|
475
520
|
const api = {
|
|
476
521
|
LIMITS: LIMITS, ACT_WORDS: ACT_WORDS, ASKS: ASKS, DESK_NOUNS: DESK_NOUNS, CHIPS: CHIPS, NOUNS: NOUNS, CLEAR: CLEAR,
|
|
477
|
-
fit: fit, ageWord: ageWord, floorMatters: floorMatters, firstNeeds: firstNeeds, rowsFor: rowsFor, deskModel: deskModel, breaks: breaks, todayPips: todayPips, moved: moved,
|
|
522
|
+
fit: fit, ageWord: ageWord, floorMatters: floorMatters, firstNeeds: firstNeeds, rowsFor: rowsFor, cardFor: cardFor, deskModel: deskModel, breaks: breaks, todayPips: todayPips, moved: moved,
|
|
478
523
|
};
|
|
479
524
|
root.GovDesk = api;
|
|
480
525
|
if (typeof module !== 'undefined' && module.exports) module.exports = api;
|
|
@@ -161,10 +161,8 @@ html[data-fullscreen="on"] .street-top { padding-right: 184px; }
|
|
|
161
161
|
.street-card__lines { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
|
|
162
162
|
.street-card__lines li { padding: 8px 0; border-top: 1px solid var(--street-rule); font-size: 14px; line-height: 1.4; }
|
|
163
163
|
.street-card__result { margin: 0; font-size: 15px; line-height: 1.45; }
|
|
164
|
-
.street-card__open { align-self: flex-start; display: inline-flex; align-items: center; min-height: 24px; padding: 6px 0; font-size: 14px; color: var(--street-accent-text); text-decoration: underline; text-underline-offset: 4px; }
|
|
165
|
-
.street-card__open[hidden] { display: none; }
|
|
166
164
|
|
|
167
|
-
.street-mark:focus-visible, .street-mode:focus-visible, .street-pin:focus-visible, .street-door:focus-visible, .street-sign:focus-visible, .street-card__close:focus-visible
|
|
165
|
+
.street-mark:focus-visible, .street-mode:focus-visible, .street-pin:focus-visible, .street-door:focus-visible, .street-sign:focus-visible, .street-card__close:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
|
|
168
166
|
|
|
169
167
|
/* narrower: the strip tightens, then wraps; the readings scroll sideways */
|
|
170
168
|
@media (max-width: 1180px) {
|
|
@@ -195,7 +195,6 @@
|
|
|
195
195
|
</div>
|
|
196
196
|
<h2 class="street-card__title" id="streetCardTitle"></h2>
|
|
197
197
|
<div class="street-card__body" id="streetCardBody"></div>
|
|
198
|
-
<a class="street-card__open" id="streetCardOpen" href="/builders/street" hidden>open it where it lives</a>
|
|
199
198
|
</div>
|
|
200
199
|
|
|
201
200
|
<div class="street-toast" id="streetToast" role="status" aria-live="polite" hidden></div>
|
|
@@ -204,9 +203,9 @@
|
|
|
204
203
|
</div>
|
|
205
204
|
</div>
|
|
206
205
|
|
|
207
|
-
<script src="/builders/shell-trail.js?v=2026-10-
|
|
208
|
-
<script src="/builders/craft-mode.js?v=2026-10-
|
|
209
|
-
<script src="/builders/shell.js?v=2026-10-
|
|
206
|
+
<script src="/builders/shell-trail.js?v=2026-10-04-palette"></script>
|
|
207
|
+
<script src="/builders/craft-mode.js?v=2026-10-04-palette"></script>
|
|
208
|
+
<script src="/builders/shell.js?v=2026-10-04-palette"></script>
|
|
210
209
|
<script src="/builders/palette.js" defer></script>
|
|
211
210
|
<script src="/builders/city-draw.js?v=2026-10-02-street1"></script>
|
|
212
211
|
<script src="/builders/street-draw.js?v=2026-10-02-street1"></script>
|