@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,251 +0,0 @@
1
- {
2
- "builder_id": 95,
3
- "window_days": 90,
4
- "ship_rate": [
5
- {
6
- "day": "2026-06-22",
7
- "n": 2
8
- },
9
- {
10
- "day": "2026-06-23",
11
- "n": 3
12
- },
13
- {
14
- "day": "2026-06-25",
15
- "n": 7
16
- },
17
- {
18
- "day": "2026-06-26",
19
- "n": 8
20
- },
21
- {
22
- "day": "2026-06-27",
23
- "n": 12
24
- },
25
- {
26
- "day": "2026-06-28",
27
- "n": 17
28
- },
29
- {
30
- "day": "2026-06-29",
31
- "n": 9
32
- },
33
- {
34
- "day": "2026-06-30",
35
- "n": 5
36
- },
37
- {
38
- "day": "2026-07-02",
39
- "n": 7
40
- },
41
- {
42
- "day": "2026-07-03",
43
- "n": 17
44
- },
45
- {
46
- "day": "2026-07-04",
47
- "n": 6
48
- },
49
- {
50
- "day": "2026-07-05",
51
- "n": 11
52
- },
53
- {
54
- "day": "2026-07-10",
55
- "n": 6
56
- }
57
- ],
58
- "cost_trend": [
59
- {
60
- "day": "2026-06-22",
61
- "total_usd": 33.45,
62
- "n_tasks": 0,
63
- "per_work": 16.73
64
- },
65
- {
66
- "day": "2026-06-23",
67
- "total_usd": 131.56,
68
- "n_tasks": 0,
69
- "per_work": 33
70
- },
71
- {
72
- "day": "2026-06-24",
73
- "total_usd": 0,
74
- "n_tasks": 0,
75
- "per_work": 33
76
- },
77
- {
78
- "day": "2026-06-25",
79
- "total_usd": 194.21,
80
- "n_tasks": 0,
81
- "per_work": 29.94
82
- },
83
- {
84
- "day": "2026-06-26",
85
- "total_usd": 74.35,
86
- "n_tasks": 0,
87
- "per_work": 21.68
88
- },
89
- {
90
- "day": "2026-06-27",
91
- "total_usd": 16.08,
92
- "n_tasks": 0,
93
- "per_work": 14.05
94
- },
95
- {
96
- "day": "2026-06-28",
97
- "total_usd": 24.24,
98
- "n_tasks": 0,
99
- "per_work": 9.67
100
- },
101
- {
102
- "day": "2026-06-29",
103
- "total_usd": 57.04,
104
- "n_tasks": 0,
105
- "per_work": 9.15
106
- },
107
- {
108
- "day": "2026-07-02",
109
- "total_usd": 198.6,
110
- "n_tasks": 0,
111
- "per_work": 10.42
112
- },
113
- {
114
- "day": "2026-07-03",
115
- "total_usd": 297.04,
116
- "n_tasks": 0,
117
- "per_work": 11.8
118
- },
119
- {
120
- "day": "2026-07-04",
121
- "total_usd": 0.74,
122
- "n_tasks": 0,
123
- "per_work": 11.05
124
- },
125
- {
126
- "day": "2026-07-05",
127
- "total_usd": 154.61,
128
- "n_tasks": 0,
129
- "per_work": 11.36
130
- },
131
- {
132
- "day": "2026-07-06",
133
- "total_usd": 0.6,
134
- "n_tasks": 0,
135
- "per_work": 11.37
136
- },
137
- {
138
- "day": "2026-07-10",
139
- "total_usd": 59.44,
140
- "n_tasks": 0,
141
- "per_work": 11.29
142
- }
143
- ],
144
- "duration_trend": [
145
- {
146
- "day": "2026-06-22",
147
- "avg_actual": 28,
148
- "avg_est": 40
149
- },
150
- {
151
- "day": "2026-06-23",
152
- "avg_actual": 125,
153
- "avg_est": 147
154
- },
155
- {
156
- "day": "2026-06-25",
157
- "avg_actual": 242,
158
- "avg_est": 283
159
- },
160
- {
161
- "day": "2026-06-26",
162
- "avg_actual": 16,
163
- "avg_est": 184
164
- },
165
- {
166
- "day": "2026-06-27",
167
- "avg_actual": 12,
168
- "avg_est": 154
169
- },
170
- {
171
- "day": "2026-06-28",
172
- "avg_actual": 85,
173
- "avg_est": 140
174
- },
175
- {
176
- "day": "2026-06-29",
177
- "avg_actual": 19,
178
- "avg_est": 221
179
- },
180
- {
181
- "day": "2026-06-30",
182
- "avg_actual": 12,
183
- "avg_est": 150
184
- },
185
- {
186
- "day": "2026-07-03",
187
- "avg_actual": 15,
188
- "avg_est": 60
189
- },
190
- {
191
- "day": "2026-07-04",
192
- "avg_actual": 17,
193
- "avg_est": 270
194
- },
195
- {
196
- "day": "2026-07-05",
197
- "avg_actual": 8,
198
- "avg_est": 65
199
- },
200
- {
201
- "day": "2026-07-10",
202
- "avg_actual": 8,
203
- "avg_est": 108
204
- }
205
- ],
206
- "grade_trend": [],
207
- "top_kinds": [
208
- {
209
- "kind": "feature",
210
- "n": 62
211
- },
212
- {
213
- "kind": "refactor",
214
- "n": 12
215
- },
216
- {
217
- "kind": "bug",
218
- "n": 11
219
- },
220
- {
221
- "kind": "infra",
222
- "n": 7
223
- },
224
- {
225
- "kind": "decision",
226
- "n": 6
227
- },
228
- {
229
- "kind": "cleanup",
230
- "n": 5
231
- },
232
- {
233
- "kind": "learning-capture",
234
- "n": 4
235
- },
236
- {
237
- "kind": "spike",
238
- "n": 3
239
- }
240
- ],
241
- "headline": {
242
- "total_shipped": 110,
243
- "total_cost_usd": 1241.96,
244
- "cost_per_task": 11.29,
245
- "avg_duration_min": 39,
246
- "confirmation_rate": 0.85,
247
- "resolved_claims": 136,
248
- "grade_pass_rate": null,
249
- "graded_n": 0
250
- }
251
- }
@@ -1 +0,0 @@
1
- { "rows": [] }
@@ -1 +0,0 @@
1
- { "totals_by_builder": [], "ledger": [] }
@@ -1 +0,0 @@
1
- { "claims": [] }
@@ -1,81 +0,0 @@
1
- {
2
- "builders": [
3
- {
4
- "id": "25",
5
- "github_login": "IAMMASTERQUA",
6
- "display_name": "IAMMASTERQUA",
7
- "avatar_url": "https://avatars.githubusercontent.com/u/290184380?v=4",
8
- "rank": "metic"
9
- },
10
- {
11
- "id": "95",
12
- "github_login": "jaxri",
13
- "display_name": "Jackson Rini",
14
- "avatar_url": "https://avatars.githubusercontent.com/u/64553469?v=4",
15
- "rank": "metic"
16
- },
17
- {
18
- "id": "3",
19
- "github_login": "LarsCode",
20
- "display_name": "LarsCode",
21
- "avatar_url": "https://avatars.githubusercontent.com/u/35337514?v=4",
22
- "rank": "xenos"
23
- },
24
- {
25
- "id": "51",
26
- "github_login": "MrTenkpro",
27
- "display_name": "MrTenkpro",
28
- "avatar_url": "https://avatars.githubusercontent.com/u/291558470?v=4",
29
- "rank": "xenos"
30
- },
31
- {
32
- "id": "50",
33
- "github_login": "Svensson-CMD",
34
- "display_name": "Svensson-CMD",
35
- "avatar_url": "https://avatars.githubusercontent.com/u/290959655?v=4",
36
- "rank": "xenos"
37
- },
38
- {
39
- "id": "71",
40
- "github_login": "erikwils",
41
- "display_name": "erikwils",
42
- "avatar_url": "https://avatars.githubusercontent.com/u/51457175?v=4",
43
- "rank": "xenos"
44
- },
45
- {
46
- "id": "70",
47
- "github_login": "kingaonline",
48
- "display_name": "kingaonline",
49
- "avatar_url": "https://avatars.githubusercontent.com/u/293641659?v=4",
50
- "rank": "thetes"
51
- },
52
- {
53
- "id": "57",
54
- "github_login": "largekristensen-svg",
55
- "display_name": "largekristensen-svg",
56
- "avatar_url": "https://avatars.githubusercontent.com/u/292408002?v=4",
57
- "rank": "xenos"
58
- },
59
- {
60
- "id": "1",
61
- "github_login": "lars589",
62
- "display_name": "lars589",
63
- "avatar_url": "https://avatars.githubusercontent.com/u/283020391?v=4",
64
- "rank": "archon"
65
- },
66
- {
67
- "id": "94",
68
- "github_login": "scootermack",
69
- "display_name": "scootermack",
70
- "avatar_url": "https://avatars.githubusercontent.com/u/295990394?v=4",
71
- "rank": "metic"
72
- },
73
- {
74
- "id": "27",
75
- "github_login": "willHermesLines",
76
- "display_name": "willHermesLines",
77
- "avatar_url": "https://avatars.githubusercontent.com/u/267458743?v=4",
78
- "rank": "xenos"
79
- }
80
- ]
81
- }
@@ -1 +0,0 @@
1
- { "builders": [] }