@bongos/core 1.17.3 → 1.18.3

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 (163) hide show
  1. package/.bongos-core.json +212 -332
  2. package/.devcontainer/healthcheck.sh +0 -0
  3. package/.devcontainer/init-firewall.sh +0 -0
  4. package/.devcontainer/post-create.sh +0 -0
  5. package/GOVERNANCE.md +1 -1
  6. package/README.md +26 -22
  7. package/bin/bongos.js +0 -0
  8. package/config/branding.neutral.json +5 -1
  9. package/docker-entrypoint.sh +0 -0
  10. package/docs/adr/0142-project-context-is-prose-only.md +41 -0
  11. package/docs/adr/0143-onboarding-repo-picker-oauth-scope.md +35 -0
  12. package/docs/adr/README.md +6 -0
  13. package/docs/api/openapi.json +1630 -632
  14. package/docs/api-reference.md +50 -15
  15. package/docs/file-map.md +0 -18
  16. package/docs/onboarding/diagrams/05-versioning.mmd +4 -6
  17. package/docs/onboarding/diagrams/assertions.json +5 -9
  18. package/docs/recipes/packaging-the-core.md +13 -0
  19. package/docs/recipes/upgrading-the-core.md +5 -2
  20. package/migrations/039_newcomer_friendly_column.sql +5 -0
  21. package/migrations/102_remove_box_first_provision_approval.sql +4 -0
  22. package/migrations/core_192_github_oauth_tokens.sql +33 -0
  23. package/modules/hall-ui/public/builders.js +37 -0
  24. package/modules/hall-ui/public/goals-page.js +98 -176
  25. package/modules/hall-ui/public/goals.css +183 -0
  26. package/modules/hall-ui/public/goals.html +35 -261
  27. package/modules/hall-ui/public/goals.js +7 -2
  28. package/modules/hall-ui/public/hall-widgets.js +12 -4
  29. package/modules/hall-ui/public/my-projects.html +78 -0
  30. package/modules/hall-ui/public/my-projects.js +142 -0
  31. package/modules/hall-ui/public/scouting.html +45 -0
  32. package/modules/hall-ui/public/scouting.js +73 -0
  33. package/modules/hall-ui/public/settings.css +355 -0
  34. package/modules/hall-ui/public/settings.html +86 -414
  35. package/modules/hall-ui/public/settings.js +96 -35
  36. package/modules/hall-ui/public/style.css +31 -0
  37. package/modules/hall-ui/public/watch.css +184 -0
  38. package/modules/hall-ui/public/watch.html +111 -285
  39. package/modules/hall-ui/public/watch.js +59 -21
  40. package/modules/status-ui/public/explore.html +54 -0
  41. package/modules/status-ui/public/explore.js +67 -0
  42. package/package-lock.json +2 -2
  43. package/package.json +1 -1
  44. package/public-landing/create.html +292 -19
  45. package/public-landing/index.html +11 -76
  46. package/scripts/cron/style_guide_audit.sh +0 -0
  47. package/scripts/gds/api.js +0 -0
  48. package/scripts/gds/architect-audit.js +0 -0
  49. package/scripts/gds/audit-authorship.sh +0 -0
  50. package/scripts/gds/audit-replay.sh +0 -0
  51. package/scripts/gds/box.js +0 -0
  52. package/scripts/gds/capture.js +0 -0
  53. package/scripts/gds/cli-lib.js +11 -5
  54. package/scripts/gds/conductor-dispatch.js +0 -0
  55. package/scripts/gds/coreB-carve-proof.sh +0 -0
  56. package/scripts/gds/db-backup-nightly.sh +0 -0
  57. package/scripts/gds/db-backup-offsite.sh +0 -0
  58. package/scripts/gds/doctor.js +0 -0
  59. package/scripts/gds/grade-smoke.js +0 -0
  60. package/scripts/gds/hooks/pre-push.js +0 -0
  61. package/scripts/gds/install-git-hooks.js +0 -0
  62. package/scripts/gds/lint-migrations.js +102 -0
  63. package/scripts/gds/login.js +42 -10
  64. package/scripts/gds/main-audit.js +0 -0
  65. package/scripts/gds/mirror-redact.js +5 -0
  66. package/scripts/gds/oauth-secret.js +0 -0
  67. package/scripts/gds/onboarding-analyze.js +0 -0
  68. package/scripts/gds/onboarding-ship.js +0 -0
  69. package/scripts/gds/package-core.js +263 -4
  70. package/scripts/gds/paste-token.js +0 -0
  71. package/scripts/gds/portability-smoke-art.sh +0 -0
  72. package/scripts/gds/portability-smoke-memory.sh +0 -0
  73. package/scripts/gds/provision.js +270 -11
  74. package/scripts/gds/publish-manifest.js +15 -0
  75. package/scripts/gds/push-main.js +0 -0
  76. package/scripts/gds/render-ideas.js +0 -0
  77. package/scripts/gds/run-unit-tests.js +38 -14
  78. package/scripts/gds/security-baseline-check.sh +0 -0
  79. package/scripts/gds/session.js +0 -0
  80. package/scripts/gds/setup.js +41 -0
  81. package/scripts/gds/ship.js +126 -32
  82. package/scripts/gds/smoke-batch-claim.sh +0 -0
  83. package/scripts/gds/smoke-batch-release.sh +0 -0
  84. package/scripts/gds/smoke-box.sh +0 -0
  85. package/scripts/gds/smoke-claim-consistency.sh +0 -0
  86. package/scripts/gds/smoke-dependencies.sh +0 -0
  87. package/scripts/gds/smoke-write.sh +0 -0
  88. package/scripts/gds/upgrade.js +147 -5
  89. package/scripts/hall-preview/server.js +18 -1
  90. package/scripts/migrate.sh +10 -0
  91. package/scripts/migrate_cost_ledger.sh +0 -0
  92. package/scripts/render-diagrams.sh +0 -0
  93. package/scripts/security/dep-audit.js +0 -0
  94. package/scripts/setup-builder.js +0 -0
  95. package/scripts/setup-builder.sh +0 -0
  96. package/scripts/snapshots/maybe-render-on-deploy.sh +0 -0
  97. package/src/bongos/auth.js +362 -5
  98. package/src/bongos/db.js +66 -0
  99. package/src/bongos/github-repos.js +93 -0
  100. package/src/bongos/routes/auth.js +93 -11
  101. package/src/bongos/routes/github.js +90 -0
  102. package/src/bongos/routes/instance.js +15 -3
  103. package/src/bongos/routes.js +2 -0
  104. package/src/branding.js +17 -2
  105. package/src/instance-config.js +16 -0
  106. package/src/module-api.js +48 -1
  107. package/tests/branding.mjs +29 -23
  108. package/tests/github_repos_helpers.mjs +91 -0
  109. package/tests/github_token_store.mjs +121 -0
  110. package/tests/idp_device_exchange.mjs +105 -0
  111. package/tests/idp_federation.mjs +100 -0
  112. package/tests/migrations_forward_safe.mjs +86 -0
  113. package/tests/module_api.mjs +1 -1
  114. package/tests/package_core.mjs +246 -1
  115. package/tests/provision.mjs +226 -0
  116. package/tests/pruned_lockfile_integrity.mjs +79 -0
  117. package/tests/ship_ci_deploy.mjs +60 -0
  118. package/tests/upgrade.mjs +254 -5
  119. package/.gitignore +0 -91
  120. package/scripts/hall-preview/fixtures/access-requests.json +0 -1
  121. package/scripts/hall-preview/fixtures/achievements.json +0 -76
  122. package/scripts/hall-preview/fixtures/analytics__builder.json +0 -251
  123. package/scripts/hall-preview/fixtures/audit-log.json +0 -1
  124. package/scripts/hall-preview/fixtures/boxes__cost-ledger.json +0 -1
  125. package/scripts/hall-preview/fixtures/builders__active-claims.json +0 -1
  126. package/scripts/hall-preview/fixtures/builders__directory.json +0 -81
  127. package/scripts/hall-preview/fixtures/builders__roster.json +0 -1
  128. package/scripts/hall-preview/fixtures/goals.json +0 -502
  129. package/scripts/hall-preview/fixtures/goals__25.json +0 -96
  130. package/scripts/hall-preview/fixtures/goals__26.json +0 -67
  131. package/scripts/hall-preview/fixtures/goals__3.json +0 -103
  132. package/scripts/hall-preview/fixtures/goals__35.json +0 -49
  133. package/scripts/hall-preview/fixtures/goals__conflicts.json +0 -154
  134. package/scripts/hall-preview/fixtures/goals__detail.json +0 -96
  135. package/scripts/hall-preview/fixtures/goals__inbox.json +0 -5
  136. package/scripts/hall-preview/fixtures/goals__requests.json +0 -3
  137. package/scripts/hall-preview/fixtures/grades__by-builder.json +0 -1
  138. package/scripts/hall-preview/fixtures/inbox.json +0 -330
  139. package/scripts/hall-preview/fixtures/instance.json +0 -124
  140. package/scripts/hall-preview/fixtures/leaderboard.json +0 -184
  141. package/scripts/hall-preview/fixtures/me.json +0 -476
  142. package/scripts/hall-preview/fixtures/me__recent-ships.json +0 -304
  143. package/scripts/hall-preview/fixtures/override-requests.json +0 -1
  144. package/scripts/hall-preview/fixtures/provisioning__fleet.json +0 -1
  145. package/scripts/hall-preview/fixtures/provisioning__fleet__cost-ledger.json +0 -1
  146. package/scripts/hall-preview/fixtures/provisioning__instances.json +0 -1
  147. package/scripts/hall-preview/fixtures/public__analytics__ecosystem.json +0 -516
  148. package/scripts/hall-preview/fixtures/public__bounty-table.json +0 -37
  149. package/scripts/hall-preview/fixtures/public__cost-summary.json +0 -742
  150. package/scripts/hall-preview/fixtures/public__estimation-drift.json +0 -41
  151. package/scripts/hall-preview/fixtures/public__grades.json +0 -50
  152. package/scripts/hall-preview/fixtures/public__progress.json +0 -124
  153. package/scripts/hall-preview/fixtures/public__recent-shipped.json +0 -426
  154. package/scripts/hall-preview/fixtures/public__repo-health.json +0 -160
  155. package/scripts/hall-preview/fixtures/public__repo-info.json +0 -5
  156. package/scripts/hall-preview/fixtures/security__docs.json +0 -1
  157. package/scripts/hall-preview/fixtures/security__reports.json +0 -1
  158. package/scripts/hall-preview/fixtures/sessions__search.json +0 -1
  159. package/scripts/hall-preview/fixtures/tasks.json +0 -2420
  160. package/scripts/hall-preview/fixtures/tasks__claimable.json +0 -2555
  161. package/scripts/hall-preview/fixtures/tasks__detail.json +0 -111
  162. package/scripts/hall-preview/fixtures/tasks__peer-votes__feed.json +0 -330
  163. package/scripts/hall-preview/fixtures/versions.json +0 -89
@@ -1,516 +0,0 @@
1
- {
2
- "window_days": 90,
3
- "ship_rate": [
4
- {
5
- "day": "2026-05-09",
6
- "n": 10
7
- },
8
- {
9
- "day": "2026-05-10",
10
- "n": 43
11
- },
12
- {
13
- "day": "2026-05-11",
14
- "n": 40
15
- },
16
- {
17
- "day": "2026-05-12",
18
- "n": 37
19
- },
20
- {
21
- "day": "2026-05-13",
22
- "n": 4
23
- },
24
- {
25
- "day": "2026-05-14",
26
- "n": 1
27
- },
28
- {
29
- "day": "2026-05-18",
30
- "n": 1
31
- },
32
- {
33
- "day": "2026-05-26",
34
- "n": 17
35
- },
36
- {
37
- "day": "2026-05-27",
38
- "n": 21
39
- },
40
- {
41
- "day": "2026-05-28",
42
- "n": 34
43
- },
44
- {
45
- "day": "2026-05-29",
46
- "n": 38
47
- },
48
- {
49
- "day": "2026-05-30",
50
- "n": 45
51
- },
52
- {
53
- "day": "2026-06-01",
54
- "n": 11
55
- },
56
- {
57
- "day": "2026-06-02",
58
- "n": 17
59
- },
60
- {
61
- "day": "2026-06-03",
62
- "n": 18
63
- },
64
- {
65
- "day": "2026-06-04",
66
- "n": 26
67
- },
68
- {
69
- "day": "2026-06-05",
70
- "n": 26
71
- },
72
- {
73
- "day": "2026-06-06",
74
- "n": 73
75
- },
76
- {
77
- "day": "2026-06-07",
78
- "n": 40
79
- },
80
- {
81
- "day": "2026-06-08",
82
- "n": 2
83
- },
84
- {
85
- "day": "2026-06-09",
86
- "n": 10
87
- },
88
- {
89
- "day": "2026-06-10",
90
- "n": 9
91
- },
92
- {
93
- "day": "2026-06-11",
94
- "n": 12
95
- },
96
- {
97
- "day": "2026-06-12",
98
- "n": 16
99
- },
100
- {
101
- "day": "2026-06-13",
102
- "n": 59
103
- },
104
- {
105
- "day": "2026-06-14",
106
- "n": 45
107
- },
108
- {
109
- "day": "2026-06-15",
110
- "n": 23
111
- },
112
- {
113
- "day": "2026-06-16",
114
- "n": 37
115
- },
116
- {
117
- "day": "2026-06-17",
118
- "n": 19
119
- },
120
- {
121
- "day": "2026-06-18",
122
- "n": 29
123
- },
124
- {
125
- "day": "2026-06-19",
126
- "n": 44
127
- },
128
- {
129
- "day": "2026-06-20",
130
- "n": 59
131
- },
132
- {
133
- "day": "2026-06-21",
134
- "n": 53
135
- },
136
- {
137
- "day": "2026-06-22",
138
- "n": 13
139
- },
140
- {
141
- "day": "2026-06-23",
142
- "n": 24
143
- },
144
- {
145
- "day": "2026-06-24",
146
- "n": 17
147
- },
148
- {
149
- "day": "2026-06-25",
150
- "n": 16
151
- },
152
- {
153
- "day": "2026-06-26",
154
- "n": 37
155
- },
156
- {
157
- "day": "2026-06-27",
158
- "n": 35
159
- },
160
- {
161
- "day": "2026-06-28",
162
- "n": 19
163
- },
164
- {
165
- "day": "2026-06-29",
166
- "n": 13
167
- },
168
- {
169
- "day": "2026-06-30",
170
- "n": 18
171
- },
172
- {
173
- "day": "2026-07-01",
174
- "n": 7
175
- },
176
- {
177
- "day": "2026-07-02",
178
- "n": 43
179
- },
180
- {
181
- "day": "2026-07-03",
182
- "n": 120
183
- },
184
- {
185
- "day": "2026-07-04",
186
- "n": 57
187
- },
188
- {
189
- "day": "2026-07-05",
190
- "n": 42
191
- },
192
- {
193
- "day": "2026-07-06",
194
- "n": 2
195
- },
196
- {
197
- "day": "2026-07-07",
198
- "n": 13
199
- },
200
- {
201
- "day": "2026-07-08",
202
- "n": 21
203
- },
204
- {
205
- "day": "2026-07-09",
206
- "n": 15
207
- },
208
- {
209
- "day": "2026-07-10",
210
- "n": 22
211
- }
212
- ],
213
- "duration_trend": [
214
- {
215
- "day": "2026-05-09",
216
- "avg_actual": 8,
217
- "avg_est": 125
218
- },
219
- {
220
- "day": "2026-05-10",
221
- "avg_actual": 25,
222
- "avg_est": 119
223
- },
224
- {
225
- "day": "2026-05-11",
226
- "avg_actual": 7,
227
- "avg_est": 133
228
- },
229
- {
230
- "day": "2026-05-12",
231
- "avg_actual": 35,
232
- "avg_est": 62
233
- },
234
- {
235
- "day": "2026-05-13",
236
- "avg_actual": 436,
237
- "avg_est": 243
238
- },
239
- {
240
- "day": "2026-05-14",
241
- "avg_actual": 1125,
242
- "avg_est": 240
243
- },
244
- {
245
- "day": "2026-05-18",
246
- "avg_actual": 2,
247
- "avg_est": 10
248
- },
249
- {
250
- "day": "2026-05-26",
251
- "avg_actual": 57,
252
- "avg_est": 140
253
- },
254
- {
255
- "day": "2026-05-27",
256
- "avg_actual": 13,
257
- "avg_est": 160
258
- },
259
- {
260
- "day": "2026-05-28",
261
- "avg_actual": 7,
262
- "avg_est": 161
263
- },
264
- {
265
- "day": "2026-05-29",
266
- "avg_actual": 8,
267
- "avg_est": 121
268
- },
269
- {
270
- "day": "2026-05-30",
271
- "avg_actual": 10,
272
- "avg_est": 127
273
- },
274
- {
275
- "day": "2026-06-01",
276
- "avg_actual": 4,
277
- "avg_est": 39
278
- },
279
- {
280
- "day": "2026-06-02",
281
- "avg_actual": 6,
282
- "avg_est": 114
283
- },
284
- {
285
- "day": "2026-06-03",
286
- "avg_actual": 56,
287
- "avg_est": 66
288
- },
289
- {
290
- "day": "2026-06-04",
291
- "avg_actual": 34,
292
- "avg_est": 131
293
- },
294
- {
295
- "day": "2026-06-05",
296
- "avg_actual": 37,
297
- "avg_est": 103
298
- },
299
- {
300
- "day": "2026-06-06",
301
- "avg_actual": 11,
302
- "avg_est": 79
303
- },
304
- {
305
- "day": "2026-06-07",
306
- "avg_actual": 10,
307
- "avg_est": 45
308
- },
309
- {
310
- "day": "2026-06-09",
311
- "avg_actual": 1,
312
- "avg_est": 10
313
- },
314
- {
315
- "day": "2026-06-10",
316
- "avg_actual": 26,
317
- "avg_est": 156
318
- },
319
- {
320
- "day": "2026-06-11",
321
- "avg_actual": 13,
322
- "avg_est": 94
323
- },
324
- {
325
- "day": "2026-06-12",
326
- "avg_actual": 455,
327
- "avg_est": 83
328
- },
329
- {
330
- "day": "2026-06-13",
331
- "avg_actual": 32,
332
- "avg_est": 120
333
- },
334
- {
335
- "day": "2026-06-14",
336
- "avg_actual": 167,
337
- "avg_est": 95
338
- },
339
- {
340
- "day": "2026-06-15",
341
- "avg_actual": 57,
342
- "avg_est": 109
343
- },
344
- {
345
- "day": "2026-06-16",
346
- "avg_actual": 9,
347
- "avg_est": 175
348
- },
349
- {
350
- "day": "2026-06-17",
351
- "avg_actual": 117,
352
- "avg_est": 95
353
- },
354
- {
355
- "day": "2026-06-18",
356
- "avg_actual": 64,
357
- "avg_est": 123
358
- },
359
- {
360
- "day": "2026-06-19",
361
- "avg_actual": 63,
362
- "avg_est": 120
363
- },
364
- {
365
- "day": "2026-06-20",
366
- "avg_actual": 30,
367
- "avg_est": 75
368
- },
369
- {
370
- "day": "2026-06-21",
371
- "avg_actual": 209,
372
- "avg_est": 127
373
- },
374
- {
375
- "day": "2026-06-22",
376
- "avg_actual": 584,
377
- "avg_est": 58
378
- },
379
- {
380
- "day": "2026-06-23",
381
- "avg_actual": 281,
382
- "avg_est": 100
383
- },
384
- {
385
- "day": "2026-06-24",
386
- "avg_actual": 147,
387
- "avg_est": 184
388
- },
389
- {
390
- "day": "2026-06-25",
391
- "avg_actual": 245,
392
- "avg_est": 253
393
- },
394
- {
395
- "day": "2026-06-26",
396
- "avg_actual": 107,
397
- "avg_est": 152
398
- },
399
- {
400
- "day": "2026-06-27",
401
- "avg_actual": 53,
402
- "avg_est": 109
403
- },
404
- {
405
- "day": "2026-06-28",
406
- "avg_actual": 74,
407
- "avg_est": 147
408
- },
409
- {
410
- "day": "2026-06-29",
411
- "avg_actual": 222,
412
- "avg_est": 191
413
- },
414
- {
415
- "day": "2026-06-30",
416
- "avg_actual": 1192,
417
- "avg_est": 270
418
- },
419
- {
420
- "day": "2026-07-01",
421
- "avg_actual": 322,
422
- "avg_est": 255
423
- },
424
- {
425
- "day": "2026-07-02",
426
- "avg_actual": 56,
427
- "avg_est": 168
428
- },
429
- {
430
- "day": "2026-07-03",
431
- "avg_actual": 23,
432
- "avg_est": 116
433
- },
434
- {
435
- "day": "2026-07-04",
436
- "avg_actual": 11,
437
- "avg_est": 148
438
- },
439
- {
440
- "day": "2026-07-05",
441
- "avg_actual": 51,
442
- "avg_est": 122
443
- },
444
- {
445
- "day": "2026-07-07",
446
- "avg_actual": 8,
447
- "avg_est": 37
448
- },
449
- {
450
- "day": "2026-07-08",
451
- "avg_actual": 116,
452
- "avg_est": 139
453
- },
454
- {
455
- "day": "2026-07-09",
456
- "avg_actual": 5,
457
- "avg_est": 75
458
- },
459
- {
460
- "day": "2026-07-10",
461
- "avg_actual": 7,
462
- "avg_est": 86
463
- }
464
- ],
465
- "top_kinds": [
466
- {
467
- "kind": "feature",
468
- "n": 574
469
- },
470
- {
471
- "kind": "bug",
472
- "n": 245
473
- },
474
- {
475
- "kind": "infra",
476
- "n": 211
477
- },
478
- {
479
- "kind": "cleanup",
480
- "n": 118
481
- },
482
- {
483
- "kind": "unclassified",
484
- "n": 91
485
- },
486
- {
487
- "kind": "decision",
488
- "n": 84
489
- },
490
- {
491
- "kind": "refactor",
492
- "n": 75
493
- },
494
- {
495
- "kind": "spike",
496
- "n": 46
497
- },
498
- {
499
- "kind": "learning-capture",
500
- "n": 6
501
- },
502
- {
503
- "kind": "verify",
504
- "n": 2
505
- },
506
- {
507
- "kind": "blocker-resolution",
508
- "n": 1
509
- }
510
- ],
511
- "headline": {
512
- "total_shipped": 1453,
513
- "active_builders": 6,
514
- "avg_duration_min": 58
515
- }
516
- }
@@ -1,37 +0,0 @@
1
- {
2
- "table": [
3
- {
4
- "severity": "low",
5
- "drachmae": 10,
6
- "default_drachmae": 10,
7
- "overridden": false,
8
- "env_var": "GDS_BOUNTY_LOW",
9
- "blurb": "Cosmetic or low-impact — info leak with no exploit path, minor misconfig."
10
- },
11
- {
12
- "severity": "medium",
13
- "drachmae": 50,
14
- "default_drachmae": 50,
15
- "overridden": false,
16
- "env_var": "GDS_BOUNTY_MEDIUM",
17
- "blurb": "A real flaw needing specific conditions — limited-scope auth or data issue."
18
- },
19
- {
20
- "severity": "high",
21
- "drachmae": 200,
22
- "default_drachmae": 200,
23
- "overridden": false,
24
- "env_var": "GDS_BOUNTY_HIGH",
25
- "blurb": "Serious — privilege escalation, broad data exposure, or auth bypass."
26
- },
27
- {
28
- "severity": "critical",
29
- "drachmae": 1000,
30
- "default_drachmae": 1000,
31
- "overridden": false,
32
- "env_var": "GDS_BOUNTY_CRITICAL",
33
- "blurb": "Catastrophic — remote code execution, full account/rank takeover, treasury drain."
34
- }
35
- ],
36
- "currency": "drachmae"
37
- }