@bongos/core 1.17.1 → 1.17.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 (233) hide show
  1. package/.bongos-core.json +521 -281
  2. package/.claude/skills/blocker-review/SKILL.md +1 -1
  3. package/.claude/skills/builder-claim/SKILL.md +2 -0
  4. package/.claude/skills/builder-exit/SKILL.md +2 -2
  5. package/.claude/skills/builder-redteam/SKILL.md +3 -3
  6. package/.claude/skills/builder-setup/SKILL.md +2 -2
  7. package/.claude/skills/builder-start/SKILL.md +1 -1
  8. package/.claude/skills/dev/SKILL.md +1 -1
  9. package/.claude/skills/idea-triage/SKILL.md +2 -2
  10. package/.claude/skills/ideate/SKILL.md +1 -1
  11. package/.claude/skills/merge-mode/SKILL.md +1 -1
  12. package/.claude/skills/new-project/SKILL.md +3 -0
  13. package/.claude/skills/paint/SKILL.md +1 -1
  14. package/GOVERNANCE.md +1 -1
  15. package/README.md +1 -1
  16. package/clients/bongos-client/README.md +1 -1
  17. package/clients/bongos-client/bongos-client.global.js +2 -0
  18. package/clients/bongos-client/index.cjs +2 -0
  19. package/clients/bongos-client/index.d.ts +4 -2
  20. package/clients/bongos-client/index.mjs +2 -0
  21. package/docs/adr/0001-stack-choice-single-vps.md +1 -1
  22. package/docs/adr/0008-google-chat-oauth-user-auth.md +1 -1
  23. package/docs/adr/0019-red-team-bounty-payout-table.md +3 -3
  24. package/docs/adr/0020-security-model-public-stub.md +1 -1
  25. package/docs/adr/0023-kind-multipliers-and-idea-bonus.md +1 -1
  26. package/docs/adr/0024-cloneable-repo-local-first-memory.md +1 -1
  27. package/docs/adr/0026-bfg-memory-hygiene-and-cross-builder-learning.md +4 -4
  28. package/docs/adr/0027-bfg-session-inefficiency-evaluator.md +3 -3
  29. package/docs/adr/0030-builders-hall-live-updates.md +1 -1
  30. package/docs/adr/0031-cloud-dev-environments-for-builders.md +4 -4
  31. package/docs/adr/0032-discord-mirror-of-gds.md +2 -2
  32. package/docs/adr/0034-thetes-graduated-newcomer-rank.md +1 -1
  33. package/docs/adr/0044-mediterranean-palette-replacement.md +1 -1
  34. package/docs/adr/0044-per-box-live-game-preview.md +1 -1
  35. package/docs/adr/0054-session-token-reward-cost-plus.md +10 -10
  36. package/docs/adr/0057-container-cost-ledger.md +3 -3
  37. package/docs/adr/0062-medusa-instance-model-decoupling.md +4 -4
  38. package/docs/adr/0065-agpl-nonprofit-ai-first-governance.md +2 -2
  39. package/docs/adr/0085-remove-default-per-builder-spend-cap.md +1 -1
  40. package/docs/adr/0086-goal-scoped-work-hierarchy.md +1 -1
  41. package/docs/adr/0096-require-reward-before-workable.md +9 -9
  42. package/docs/adr/0097-retroactive-reward-backfill.md +3 -3
  43. package/docs/adr/0100-two-repo-instance-model.md +1 -1
  44. package/docs/adr/0101-goal-hierarchy-phase-5-judge-membership-reward.md +3 -3
  45. package/docs/adr/0103-core-first-extraction-cloud-bongos-trunk.md +3 -3
  46. package/docs/adr/0107-module-upstreaming-contribution-to-core-catalog.md +1 -1
  47. package/docs/adr/0120-pay-on-land-and-builder-owned-rebase-gate.md +6 -6
  48. package/docs/adr/0136-update-channel-subscription-policy.md +51 -0
  49. package/docs/adr/0137-upstream-publish-policy-manual-owner-gated.md +40 -0
  50. package/docs/adr/0138-bundled-module-deps-declared-per-module.md +45 -0
  51. package/docs/adr/README.md +9 -6
  52. package/docs/api/openapi.json +65 -26
  53. package/docs/api-reference.md +3 -2
  54. package/docs/architecture.md +2 -2
  55. package/docs/branding-contract.md +5 -4
  56. package/docs/canonical-permissions.md +1 -1
  57. package/docs/design/vanilla-hall-ui-redesign-scope.md +1 -1
  58. package/docs/file-map.md +18 -17
  59. package/docs/handoff-template.md +2 -2
  60. package/docs/modules-contract.md +6 -1
  61. package/docs/onboarding/diagrams/README.md +7 -7
  62. package/docs/onboarding/drachmae-and-karma.md +18 -18
  63. package/docs/onboarding/primer.md +9 -9
  64. package/docs/recipes/audit-replay.md +2 -2
  65. package/docs/recipes/builder-box-lifecycle.md +2 -2
  66. package/docs/recipes/claude-design-loop.md +1 -1
  67. package/docs/recipes/ops-gotchas.md +1 -1
  68. package/docs/recipes/private-npm-distribution.md +17 -0
  69. package/docs/recipes/staging-environment.md +1 -1
  70. package/docs/recipes/upgrading-the-core.md +55 -0
  71. package/docs/research/cursor-competitive-analysis.md +1 -1
  72. package/docs/research/llm-model-agnostic-and-cheaper-grader.md +1 -1
  73. package/modules/discord/module.json +2 -1
  74. package/modules/economy/achievements.js +9 -1
  75. package/modules/economy/credits.js +10 -1
  76. package/modules/hall-ui/public/builders.js +137 -620
  77. package/modules/hall-ui/public/goal-inbox.js +232 -0
  78. package/modules/hall-ui/public/goals-page.js +4 -1
  79. package/modules/hall-ui/public/goals.html +8 -0
  80. package/modules/hall-ui/public/hall-kit.js +474 -0
  81. package/modules/hall-ui/public/hall-widgets.js +14 -5
  82. package/modules/hall-ui/public/index.html +3 -0
  83. package/modules/hall-ui/public/instances-panel.js +24 -3
  84. package/modules/hall-ui/public/new-project-wizard.js +7 -5
  85. package/modules/hall-ui/public/style.css +168 -0
  86. package/modules/hall-ui/public/work.css +194 -0
  87. package/modules/hall-ui/public/work.html +46 -374
  88. package/modules/hall-ui/public/work.js +137 -102
  89. package/modules/lifecycle/criterion-suggest.js +80 -0
  90. package/modules/lifecycle/db.js +42 -5
  91. package/modules/lifecycle/routes/goals.js +26 -0
  92. package/modules/lifecycle/routes/tasks.js +21 -0
  93. package/modules/provisioning/CLAUDE.md +15 -0
  94. package/modules/provisioning/migrations/provisioning_001_tables.sql +160 -0
  95. package/modules/provisioning/migrations/provisioning_002_standalone_shape.sql +11 -0
  96. package/modules/provisioning/migrations/provisioning_003_github_app_manifest.sql +95 -0
  97. package/modules/provisioning/module.json +17 -0
  98. package/modules/provisioning/onboard-plan.js +37 -0
  99. package/modules/provisioning/provisioning.js +539 -0
  100. package/modules/provisioning/rate-limit.js +35 -0
  101. package/modules/provisioning/routes/provisioning.js +607 -0
  102. package/modules/provisioning/tests/provisioning.mjs +232 -0
  103. package/modules/provisioning/ui/.gitkeep +0 -0
  104. package/modules/security/secret-scrub.js +10 -0
  105. package/package-lock.json +2 -2
  106. package/package.json +7 -2
  107. package/scripts/discord/README.md +1 -1
  108. package/scripts/gds/claim.js +98 -48
  109. package/scripts/gds/claude-materialize.js +30 -9
  110. package/scripts/gds/cutover-codemod.js +241 -0
  111. package/scripts/gds/fitness.js +54 -0
  112. package/scripts/gds/init.js +59 -3
  113. package/scripts/gds/lint-infra-exec.js +70 -0
  114. package/scripts/gds/lint-workflow-exec.js +63 -0
  115. package/scripts/gds/mirror-lineage-check.js +14 -5
  116. package/scripts/gds/mirror-redact.js +8 -0
  117. package/scripts/gds/onboard.js +4 -0
  118. package/scripts/gds/package-core.js +18 -3
  119. package/scripts/gds/publish-manifest.js +60 -2
  120. package/scripts/gds/run-routine.js +51 -13
  121. package/scripts/gds/run-unit-tests.js +4 -0
  122. package/scripts/gds/update-channel.js +186 -0
  123. package/scripts/gds/upgrade.js +116 -9
  124. package/scripts/hall-preview/README.md +103 -0
  125. package/scripts/hall-preview/fixtures/access-requests.json +1 -0
  126. package/scripts/hall-preview/fixtures/achievements.json +76 -0
  127. package/scripts/hall-preview/fixtures/analytics__builder.json +251 -0
  128. package/scripts/hall-preview/fixtures/audit-log.json +1 -0
  129. package/scripts/hall-preview/fixtures/boxes__cost-ledger.json +1 -0
  130. package/scripts/hall-preview/fixtures/builders__active-claims.json +1 -0
  131. package/scripts/hall-preview/fixtures/builders__directory.json +81 -0
  132. package/scripts/hall-preview/fixtures/builders__roster.json +1 -0
  133. package/scripts/hall-preview/fixtures/goals.json +502 -0
  134. package/scripts/hall-preview/fixtures/goals__25.json +96 -0
  135. package/scripts/hall-preview/fixtures/goals__26.json +67 -0
  136. package/scripts/hall-preview/fixtures/goals__3.json +103 -0
  137. package/scripts/hall-preview/fixtures/goals__35.json +49 -0
  138. package/scripts/hall-preview/fixtures/goals__conflicts.json +154 -0
  139. package/scripts/hall-preview/fixtures/goals__detail.json +96 -0
  140. package/scripts/hall-preview/fixtures/goals__inbox.json +5 -0
  141. package/scripts/hall-preview/fixtures/goals__requests.json +3 -0
  142. package/scripts/hall-preview/fixtures/grades__by-builder.json +1 -0
  143. package/scripts/hall-preview/fixtures/inbox.json +330 -0
  144. package/scripts/hall-preview/fixtures/instance.json +124 -0
  145. package/scripts/hall-preview/fixtures/leaderboard.json +184 -0
  146. package/scripts/hall-preview/fixtures/me.json +476 -0
  147. package/scripts/hall-preview/fixtures/me__recent-ships.json +304 -0
  148. package/scripts/hall-preview/fixtures/override-requests.json +1 -0
  149. package/scripts/hall-preview/fixtures/provisioning__fleet.json +1 -0
  150. package/scripts/hall-preview/fixtures/provisioning__fleet__cost-ledger.json +1 -0
  151. package/scripts/hall-preview/fixtures/provisioning__instances.json +1 -0
  152. package/scripts/hall-preview/fixtures/public__analytics__ecosystem.json +516 -0
  153. package/scripts/hall-preview/fixtures/public__bounty-table.json +37 -0
  154. package/scripts/hall-preview/fixtures/public__cost-summary.json +742 -0
  155. package/scripts/hall-preview/fixtures/public__estimation-drift.json +41 -0
  156. package/scripts/hall-preview/fixtures/public__grades.json +50 -0
  157. package/scripts/hall-preview/fixtures/public__progress.json +124 -0
  158. package/scripts/hall-preview/fixtures/public__recent-shipped.json +426 -0
  159. package/scripts/hall-preview/fixtures/public__repo-health.json +160 -0
  160. package/scripts/hall-preview/fixtures/public__repo-info.json +5 -0
  161. package/scripts/hall-preview/fixtures/security__docs.json +1 -0
  162. package/scripts/hall-preview/fixtures/security__reports.json +1 -0
  163. package/scripts/hall-preview/fixtures/sessions__search.json +1 -0
  164. package/scripts/hall-preview/fixtures/tasks.json +2420 -0
  165. package/scripts/hall-preview/fixtures/tasks__claimable.json +2555 -0
  166. package/scripts/hall-preview/fixtures/tasks__detail.json +111 -0
  167. package/scripts/hall-preview/fixtures/tasks__peer-votes__feed.json +330 -0
  168. package/scripts/hall-preview/fixtures/versions.json +89 -0
  169. package/scripts/hall-preview/refresh-fixtures.js +77 -0
  170. package/scripts/hall-preview/server.js +178 -0
  171. package/scripts/migrate.sh +29 -4
  172. package/src/bongos/auth.js +14 -1
  173. package/src/bongos/optimizer.js +37 -2
  174. package/src/bongos/serve-internal.js +10 -1
  175. package/src/branding.js +1 -0
  176. package/src/module-api.js +12 -1
  177. package/src/module-loader/loader.js +36 -4
  178. package/src/module-loader/manifest-schema.js +16 -1
  179. package/tests/branding.mjs +11 -0
  180. package/tests/claim_error_surface.mjs +107 -0
  181. package/tests/claude_materialize.mjs +20 -0
  182. package/tests/consumer_layout_boot.mjs +302 -0
  183. package/tests/criterion_suggest.mjs +106 -0
  184. package/tests/cutover_codemod.mjs +184 -0
  185. package/tests/device_flow_start.mjs +25 -2
  186. package/tests/hook_core_resolve.mjs +125 -0
  187. package/tests/infra_exec_paths.mjs +104 -0
  188. package/tests/init.mjs +47 -0
  189. package/tests/migrate_root_resolution.mjs +97 -0
  190. package/tests/mirror_lineage_proof.mjs +14 -0
  191. package/tests/module_loader.mjs +42 -0
  192. package/tests/module_manifest.mjs +19 -0
  193. package/tests/onboard.mjs +13 -0
  194. package/tests/package_core.mjs +8 -0
  195. package/tests/provisioning_github_app_routes.mjs +15 -0
  196. package/tests/publish_manifest.mjs +52 -1
  197. package/tests/run_routine.mjs +26 -1
  198. package/tests/run_routine_two_root.mjs +77 -0
  199. package/tests/scrubber_corpus.mjs +17 -0
  200. package/tests/update_channel.mjs +186 -0
  201. package/tests/upgrade.mjs +131 -0
  202. package/tests/workflow_exec_paths.mjs +98 -0
  203. package/docs/design/container-exterior-tiles.md +0 -49
  204. package/docs/design/container-exterior.md +0 -81
  205. package/docs/design/container-interior.md +0 -77
  206. package/docs/design/world-map-scroll.md +0 -41
  207. package/docs/recipes/claude-gemini-bongos-doors.md +0 -155
  208. package/docs/recipes/cloudbongos-staging-gate.md +0 -139
  209. package/docs/recipes/cloudbongos-standup.md +0 -111
  210. package/docs/recipes/parallel-load-results-2026-05-30.md +0 -63
  211. package/docs/recipes/parallel-load-test.md +0 -32
  212. package/docs/recipes/pixel-art-pipeline.md +0 -411
  213. package/docs/recipes/staging-data.md +0 -50
  214. package/migrations/instance/018_pms_v3_planning_seed.sql +0 -131
  215. package/migrations/instance/080_gds_v4_planning_seed.sql +0 -75
  216. package/migrations/instance/110_medusa_planning_seed.sql +0 -70
  217. package/migrations/instance/120_bongos_v1_planning_seed.sql +0 -69
  218. package/migrations/instance/144_bongos_v1_module_system_criterion.sql +0 -26
  219. package/migrations/instance/159_bongos_v1_goal_hierarchy_criterion.sql +0 -29
  220. package/migrations/instance/172_v2_world_planning_seed.sql +0 -163
  221. package/migrations/instance/173_bongos_v1_c7_core_modularized.sql +0 -33
  222. package/migrations/instance/182_gdsv4_bongos_consolidation.sql +0 -132
  223. package/migrations/instance/183_gdsv4_carryover_themed_goals.sql +0 -116
  224. package/migrations/instance/186_bongos_v1_governance_planning_seed.sql +0 -69
  225. package/scripts/gds/art-stage.js +0 -152
  226. package/server.js +0 -212
  227. package/tests/art_key.mjs +0 -121
  228. package/tests/day_cycle.mjs +0 -197
  229. package/tests/snapshot_picker.mjs +0 -233
  230. package/tests/sprite_facing.mjs +0 -35
  231. package/tests/terrain_picker.mjs +0 -298
  232. package/tests/turn_in_place.mjs +0 -280
  233. package/tests/walkability.mjs +0 -188
@@ -0,0 +1,516 @@
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
+ }
@@ -0,0 +1,37 @@
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
+ }