@bongos/core 1.21.177 → 1.21.178
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 +140 -150
- package/clients/bongos-client/README.md +1 -1
- package/clients/bongos-client/bongos-client.global.js +0 -6
- package/clients/bongos-client/index.cjs +0 -6
- package/clients/bongos-client/index.d.ts +0 -6
- package/clients/bongos-client/index.mjs +0 -6
- package/docs/adr/0042-builder-self-deploy-ci-auto-merge.md +3 -2
- package/docs/api/openapi.json +1 -87
- package/docs/api-reference.md +1 -8
- package/docs/canonical-permissions.md +3 -3
- package/docs/copy-inventory.md +25 -39
- package/docs/copy-registry.json +73 -200
- package/docs/file-map.md +3 -3
- package/docs/module-api-changelog.md +2 -0
- package/docs/modules-contract.md +2 -2
- package/docs/page-inventory.json +4 -7
- package/docs/page-readings.json +1520 -1569
- package/modules/government/catalog.js +10 -7
- package/modules/government/decision-board.js +0 -1
- package/modules/government/decision-rules.js +0 -1
- package/modules/government/docket.js +0 -1
- package/modules/government/protected-surfaces.js +1 -1
- package/modules/government/protected-surfaces.json +2 -3
- package/modules/hall-ui/public/atlas.html +1 -1
- package/modules/hall-ui/public/blockers.html +1 -1
- package/modules/hall-ui/public/board-room.html +1 -1
- package/modules/hall-ui/public/city.html +1 -1
- package/modules/hall-ui/public/collab.html +1 -1
- package/modules/hall-ui/public/commands.html +1 -1
- package/modules/hall-ui/public/copy-desk.html +1 -1
- package/modules/hall-ui/public/deploy.html +1 -1
- package/modules/hall-ui/public/diagrams.html +1 -1
- package/modules/hall-ui/public/drachmae.html +1 -1
- package/modules/hall-ui/public/fleet.html +1 -1
- package/modules/hall-ui/public/gate.css +4 -26
- package/modules/hall-ui/public/gate.html +12 -27
- package/modules/hall-ui/public/gate.js +26 -176
- package/modules/hall-ui/public/gate.states.json +4 -22
- package/modules/hall-ui/public/goal-map.html +1 -1
- package/modules/hall-ui/public/goals.html +1 -1
- package/modules/hall-ui/public/government.html +1 -1
- package/modules/hall-ui/public/idea.html +1 -1
- package/modules/hall-ui/public/ideas.html +1 -1
- package/modules/hall-ui/public/index.html +1 -1
- package/modules/hall-ui/public/modules.html +1 -1
- package/modules/hall-ui/public/my-agents.html +1 -1
- package/modules/hall-ui/public/primer.html +1 -1
- package/modules/hall-ui/public/profile.html +1 -1
- package/modules/hall-ui/public/project-settings.html +1 -1
- package/modules/hall-ui/public/ranks.html +1 -1
- package/modules/hall-ui/public/roadmap.html +1 -1
- package/modules/hall-ui/public/roster.html +1 -1
- package/modules/hall-ui/public/sessions.html +1 -1
- package/modules/hall-ui/public/settings.html +1 -1
- package/modules/hall-ui/public/shell.js +1 -1
- package/modules/hall-ui/public/street-card.js +5 -9
- package/modules/hall-ui/public/street-desk.js +2 -2
- package/modules/hall-ui/public/street-inside.js +1 -1
- package/modules/hall-ui/public/street.html +1 -1
- package/modules/hall-ui/public/studio.html +1 -1
- package/modules/hall-ui/public/task.html +1 -1
- package/modules/hall-ui/public/thinking.html +1 -1
- package/modules/hall-ui/public/tweak-editor.html +1 -1
- package/modules/hall-ui/public/watch.html +1 -1
- package/modules/hall-ui/public/work.html +1 -1
- package/modules/lifecycle/matter-acts.js +0 -6
- package/modules/lifecycle/module.json +0 -1
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/release-notes.json +22 -0
- package/scripts/bongos/adopt-preflight.js +3 -3
- package/scripts/bongos/audit-authorship.sh +1 -3
- package/scripts/bongos/bump-version.js +46 -9
- package/scripts/bongos/doc-cli-guard.js +2 -0
- package/scripts/bongos/doc-control-claims.js +2 -2
- package/scripts/bongos/government-walk.js +3 -9
- package/scripts/bongos/hard-floor.js +52 -0
- package/scripts/bongos/publish-manifest.js +3 -3
- package/scripts/bongos/run-unit-tests.js +17 -5
- package/scripts/gds/hard-floor.js +6 -0
- package/src/bongos/module-scope-map.js +2 -2
- package/src/bongos/permission-path-check.js +1 -1
- package/src/bongos/route-rank-check.js +1 -8
- package/src/bongos/routes.js +1 -2
- package/src/module-api.js +1 -1
- package/src/modules.js +1 -1
- package/tests/acclaim_feed_evidence_db.mjs +42 -23
- package/tests/adr_0089_scope.mjs +7 -5
- package/tests/bump_version.mjs +52 -18
- package/tests/copy_desk_flags_db.mjs +22 -14
- package/tests/gating_review_retired.mjs +1 -1
- package/tests/government_act_alone_buildings.mjs +1 -3
- package/tests/government_board_membership_db.mjs +35 -22
- package/tests/government_protected_surfaces.mjs +29 -13
- package/tests/governor_docket.mjs +0 -2
- package/tests/governor_matter_acts.mjs +6 -8
- package/tests/hall_city.mjs +1 -1
- package/tests/hall_matter_card.mjs +2 -2
- package/tests/hall_oversight_world.mjs +16 -12
- package/tests/hall_street_desk.mjs +4 -3
- package/tests/hall_street_inside.mjs +1 -1
- package/tests/helpers.mjs +34 -0
- package/tests/howto_state.mjs +33 -56
- package/tests/howto_state_db.mjs +68 -0
- package/tests/idea_credit_streams_db.mjs +11 -3
- package/tests/integration_parked_ratchet.mjs +7 -1
- package/tests/nav_permission_atoms.mjs +1 -1
- package/tests/page_notes_db.mjs +12 -8
- package/tests/page_tweak_no_rearm.mjs +50 -0
- package/tests/publish_manifest.mjs +64 -0
- package/tests/search_isolation.mjs +5 -103
- package/tests/search_isolation_db.mjs +140 -0
- package/tests/session_earnings_mirror_db.mjs +2 -0
- package/tests/workflow_exec_paths.mjs +9 -11
- package/modules/lifecycle/routes/gate-approvals.js +0 -299
- package/scripts/bongos/ci-grade.js +0 -82
- package/scripts/bongos/gate-review.js +0 -330
- package/scripts/gds/ci-grade.js +0 -7
- package/scripts/gds/gate-review.js +0 -7
- package/tests/gate_approvals.mjs +0 -611
- package/tests/gate_review.mjs +0 -152
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"_": "
|
|
2
|
+
"_": "Autobongos — the owner's runner panel behind requireGovernmentPage, still served at /gate (task 1004859 removed the held-PR list). Measured at three widths in both modes rather than looked at once.",
|
|
3
3
|
"page": "/builders/gate",
|
|
4
4
|
"surface": "hall-ui",
|
|
5
5
|
"stub": {
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
"/api/(gds|bongos)/goals",
|
|
14
14
|
"/api/(gds|bongos)/inbox/",
|
|
15
15
|
"/api/(gds|bongos)/versions",
|
|
16
|
-
"/api/(gds|bongos)/gate-approvals",
|
|
17
16
|
"/api/(gds|bongos)/builders",
|
|
18
|
-
"/api/(gds|bongos)/access-requests"
|
|
17
|
+
"/api/(gds|bongos)/access-requests",
|
|
18
|
+
"/api/(gds|bongos)/autonomy/"
|
|
19
19
|
],
|
|
20
20
|
"ignoreConsole": [
|
|
21
21
|
"/api/(gds|bongos)/",
|
|
@@ -46,23 +46,6 @@
|
|
|
46
46
|
},
|
|
47
47
|
"out": {
|
|
48
48
|
"auth": false
|
|
49
|
-
},
|
|
50
|
-
"approve": {
|
|
51
|
-
"auth": true,
|
|
52
|
-
"actions": [
|
|
53
|
-
[
|
|
54
|
-
"wait",
|
|
55
|
-
700
|
|
56
|
-
],
|
|
57
|
-
[
|
|
58
|
-
"clickIfVisible",
|
|
59
|
-
"[data-act=approve]"
|
|
60
|
-
],
|
|
61
|
-
[
|
|
62
|
-
"wait",
|
|
63
|
-
250
|
|
64
|
-
]
|
|
65
|
-
]
|
|
66
49
|
}
|
|
67
50
|
},
|
|
68
51
|
"reducedMotion": {
|
|
@@ -73,6 +56,5 @@
|
|
|
73
56
|
600
|
|
74
57
|
]
|
|
75
58
|
]
|
|
76
|
-
}
|
|
77
|
-
"_states": "task 1003469: `approve` opens the confirm modal on the first held PR. clickIfVisible, because the kit's own stub carries no /gate-approvals fixture and renders the empty list — the modal is measured against the harness."
|
|
59
|
+
}
|
|
78
60
|
}
|
|
@@ -139,7 +139,7 @@
|
|
|
139
139
|
|
|
140
140
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
141
141
|
<script src="/builders/craft-mode.js?v=2026-10-09-living3"></script>
|
|
142
|
-
<script src="/builders/shell.js?v=2026-10-25-
|
|
142
|
+
<script src="/builders/shell.js?v=2026-10-25-autobongos"></script>
|
|
143
143
|
<script src="/builders/palette.js" defer></script>
|
|
144
144
|
|
|
145
145
|
<script src="/builders/idea-objects.js?v=2026-09-27-split"></script>
|
|
@@ -236,7 +236,7 @@
|
|
|
236
236
|
|
|
237
237
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
238
238
|
<script src="/builders/craft-mode.js?v=2026-10-09-living3"></script>
|
|
239
|
-
<script src="/builders/shell.js?v=2026-10-25-
|
|
239
|
+
<script src="/builders/shell.js?v=2026-10-25-autobongos"></script>
|
|
240
240
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
241
241
|
<script src="/builders/palette.js" defer></script>
|
|
242
242
|
<script src="/builders/dom-utils.js?v=2026-06-14-domutils"></script>
|
|
@@ -134,7 +134,7 @@
|
|
|
134
134
|
|
|
135
135
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
136
136
|
<script src="/builders/craft-mode.js?v=2026-10-09-living3"></script>
|
|
137
|
-
<script src="/builders/shell.js?v=2026-10-25-
|
|
137
|
+
<script src="/builders/shell.js?v=2026-10-25-autobongos"></script>
|
|
138
138
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
139
139
|
<script src="/builders/palette.js" defer></script>
|
|
140
140
|
<script src="/builders/dom-utils.js?v=2026-06-16-gate"></script>
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
|
|
53
53
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
54
54
|
<script src="/builders/craft-mode.js?v=2026-10-09-living3"></script>
|
|
55
|
-
<script src="/builders/shell.js?v=2026-10-25-
|
|
55
|
+
<script src="/builders/shell.js?v=2026-10-25-autobongos"></script>
|
|
56
56
|
<script src="/builders/palette.js" defer></script>
|
|
57
57
|
<script src="/builders/dom-utils.js?v=2026-06-23-contrib" defer></script>
|
|
58
58
|
<!-- task-detail.js still owns the #/idea/N and #/blocker/N overlay, so a ref
|
|
@@ -227,7 +227,7 @@
|
|
|
227
227
|
|
|
228
228
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
229
229
|
<script src="/builders/craft-mode.js?v=2026-10-09-living3"></script>
|
|
230
|
-
<script src="/builders/shell.js?v=2026-10-25-
|
|
230
|
+
<script src="/builders/shell.js?v=2026-10-25-autobongos"></script>
|
|
231
231
|
<script src="/builders/palette.js" defer></script>
|
|
232
232
|
<script src="/builders/dom-utils.js?v=2026-06-23-contrib"></script>
|
|
233
233
|
<!-- task 1004727: the ONE karma vote control every task/idea list renders -->
|
|
@@ -119,7 +119,7 @@
|
|
|
119
119
|
<script src="/builders/welcome-boot.js?v=2026-10-23-city1" defer></script>
|
|
120
120
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab" defer></script>
|
|
121
121
|
<script src="/builders/craft-mode.js?v=2026-10-09-living3" defer></script>
|
|
122
|
-
<script src="/builders/shell.js?v=2026-10-25-
|
|
122
|
+
<script src="/builders/shell.js?v=2026-10-25-autobongos" defer></script>
|
|
123
123
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
124
124
|
<script src="/builders/palette.js" defer></script>
|
|
125
125
|
<!-- task 2166: the shared component kit (window.OTBKit) — pager/ledger/rail.
|
|
@@ -127,7 +127,7 @@
|
|
|
127
127
|
|
|
128
128
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
129
129
|
<script src="/builders/craft-mode.js?v=2026-10-09-living3"></script>
|
|
130
|
-
<script src="/builders/shell.js?v=2026-10-25-
|
|
130
|
+
<script src="/builders/shell.js?v=2026-10-25-autobongos"></script>
|
|
131
131
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
132
132
|
<script src="/builders/palette.js" defer></script>
|
|
133
133
|
<script src="/builders/dom-utils.js?v=2026-06-23-contrib"></script>
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
|
|
62
62
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
63
63
|
<script src="/builders/craft-mode.js?v=2026-10-09-living3"></script>
|
|
64
|
-
<script src="/builders/shell.js?v=2026-10-25-
|
|
64
|
+
<script src="/builders/shell.js?v=2026-10-25-autobongos"></script>
|
|
65
65
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
66
66
|
<script src="/builders/palette.js" defer></script>
|
|
67
67
|
<script src="/builders/dom-utils.js?v=2026-06-14-domutils"></script>
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
|
|
113
113
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
114
114
|
<script src="/builders/craft-mode.js?v=2026-10-09-living3"></script>
|
|
115
|
-
<script src="/builders/shell.js?v=2026-10-25-
|
|
115
|
+
<script src="/builders/shell.js?v=2026-10-25-autobongos"></script>
|
|
116
116
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
117
117
|
<script src="/builders/palette.js" defer></script>
|
|
118
118
|
<!-- the shared markdown reader (window.OTBMdReader) — primer.js renders through
|
|
@@ -207,7 +207,7 @@
|
|
|
207
207
|
chrome exists before the page script runs. -->
|
|
208
208
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
209
209
|
<script src="/builders/craft-mode.js?v=2026-10-09-living3"></script>
|
|
210
|
-
<script src="/builders/shell.js?v=2026-10-25-
|
|
210
|
+
<script src="/builders/shell.js?v=2026-10-25-autobongos"></script>
|
|
211
211
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
212
212
|
<script src="/builders/palette.js" defer></script>
|
|
213
213
|
<!-- shared frontend toolkit (window.OTB) — loaded before profile.js, which pulls from it. -->
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
|
|
72
72
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
73
73
|
<script src="/builders/craft-mode.js?v=2026-10-09-living3"></script>
|
|
74
|
-
<script src="/builders/shell.js?v=2026-10-25-
|
|
74
|
+
<script src="/builders/shell.js?v=2026-10-25-autobongos"></script>
|
|
75
75
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
76
76
|
<script src="/builders/palette.js" defer></script>
|
|
77
77
|
<script src="/builders/dom-utils.js?v=2026-06-16-gate"></script>
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
chrome exists before the page script runs. -->
|
|
74
74
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
75
75
|
<script src="/builders/craft-mode.js?v=2026-10-09-living3"></script>
|
|
76
|
-
<script src="/builders/shell.js?v=2026-10-25-
|
|
76
|
+
<script src="/builders/shell.js?v=2026-10-25-autobongos"></script>
|
|
77
77
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
78
78
|
<script src="/builders/palette.js" defer></script>
|
|
79
79
|
<!-- shared frontend toolkit (window.OTB) — loaded before ranks.js, which pulls from it. -->
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
|
|
44
44
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
45
45
|
<script src="/builders/craft-mode.js?v=2026-10-09-living3"></script>
|
|
46
|
-
<script src="/builders/shell.js?v=2026-10-25-
|
|
46
|
+
<script src="/builders/shell.js?v=2026-10-25-autobongos"></script>
|
|
47
47
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
48
48
|
<script src="/builders/palette.js" defer></script>
|
|
49
49
|
<script src="/builders/dom-utils.js?v=2026-06-14-domutils"></script>
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
chrome exists before the page script runs. -->
|
|
56
56
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
57
57
|
<script src="/builders/craft-mode.js?v=2026-10-09-living3"></script>
|
|
58
|
-
<script src="/builders/shell.js?v=2026-10-25-
|
|
58
|
+
<script src="/builders/shell.js?v=2026-10-25-autobongos"></script>
|
|
59
59
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
60
60
|
<script src="/builders/palette.js" defer></script>
|
|
61
61
|
<!-- shared frontend toolkit (window.OTB — rank labels, number formats) + the
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
chrome exists before the page script runs. -->
|
|
112
112
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
113
113
|
<script src="/builders/craft-mode.js?v=2026-10-09-living3"></script>
|
|
114
|
-
<script src="/builders/shell.js?v=2026-10-25-
|
|
114
|
+
<script src="/builders/shell.js?v=2026-10-25-autobongos"></script>
|
|
115
115
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
116
116
|
<script src="/builders/palette.js" defer></script>
|
|
117
117
|
<!-- shared frontend toolkit (window.OTB) — loaded BEFORE sessions.js so it can pull from it. -->
|
|
@@ -472,7 +472,7 @@
|
|
|
472
472
|
chrome exists before the page scripts run. -->
|
|
473
473
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
474
474
|
<script src="/builders/craft-mode.js?v=2026-10-09-living3"></script>
|
|
475
|
-
<script src="/builders/shell.js?v=2026-10-25-
|
|
475
|
+
<script src="/builders/shell.js?v=2026-10-25-autobongos"></script>
|
|
476
476
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
477
477
|
<script src="/builders/palette.js" defer></script>
|
|
478
478
|
<!-- shared frontend toolkit (window.OTB) — loaded before consuming IIFEs. -->
|
|
@@ -371,7 +371,7 @@
|
|
|
371
371
|
// Metic+ oversight could not honestly hold it. Everything below IS a rank
|
|
372
372
|
// surface, so this group's gate and audience are unchanged.
|
|
373
373
|
{ id: 'watch', label: 'Watch', icon: 'watch', href: '/watch', gate: 'government', position: true },
|
|
374
|
-
{ id: 'gate', label: '
|
|
374
|
+
{ id: 'gate', label: 'Autobongos', icon: 'gate', href: '/gate', gate: 'government', position: true }, // task 1004859: the runner panel; URL kept for bookmarks
|
|
375
375
|
{ id: 'sessions', label: 'Sessions', icon: 'sessions', href: '/sessions', gate: 'government', position: true },
|
|
376
376
|
// The project's own fundamentals (task 1003280, goal 1000072). Mirrors the
|
|
377
377
|
// server's requireGovernmentPage floor; cosmetic only, as every item here is.
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
// filed it — an amendment with its revised words, a who-decides change with
|
|
40
40
|
// its rows, a building's matter with its revised detail. The constitution's own
|
|
41
41
|
// fields are changed in the Board Room's amendment form, not here.
|
|
42
|
-
// * Release. An override
|
|
43
|
-
//
|
|
42
|
+
// * Release. An override is released from the card through its own decide
|
|
43
|
+
// route (the PR-at-the-gate release went with its route, task 1004859). A newer CORE keeps its check-then-take:
|
|
44
44
|
// the card draws the Release desk's core row (check, then take it), the same
|
|
45
45
|
// as the floor desk; only a hall without that row links to the pin's page.
|
|
46
46
|
//
|
|
@@ -447,11 +447,9 @@
|
|
|
447
447
|
cv.actions = [act('fine', 'fine by me', 'primary'), act('refuse', 'object', 'quiet')];
|
|
448
448
|
return cv;
|
|
449
449
|
}
|
|
450
|
-
if (m.source === 'override_requests'
|
|
450
|
+
if (m.source === 'override_requests') {
|
|
451
451
|
if (!mine) { cv.readOnly = true; cv.result = 'Someone who may decide it will.'; return cv; }
|
|
452
|
-
cv.result =
|
|
453
|
-
? 'It is held at the gate. Releasing it lets it merge and go live. The call is yours.'
|
|
454
|
-
: 'It failed a check or a grade. Releasing it lets it go live anyway. The call is yours.';
|
|
452
|
+
cv.result = 'It failed a check or a grade. Releasing it lets it go live anyway. The call is yours.';
|
|
455
453
|
cv.actions = [act('release', 'release', 'primary'), act('hold', 'hold', 'quiet')];
|
|
456
454
|
return cv;
|
|
457
455
|
}
|
|
@@ -712,7 +710,6 @@
|
|
|
712
710
|
},
|
|
713
711
|
criteria_uat: { force: function (id, inp, who) { return { title: 'Sign off: ' + who, action: { type: 'satisfy_criterion', criterion_id: Number(id) } }; } },
|
|
714
712
|
override_requests: { release: function (id, inp, who) { return { title: 'Release past its check: ' + who, action: { type: 'approve_override', request_id: Number(id) } }; } },
|
|
715
|
-
gate_approvals: { release: function (id, inp, who) { return { title: 'Release from the gate: ' + who, action: { type: 'approve_gate', pr: Number(id) } }; } },
|
|
716
713
|
builder_budget: {
|
|
717
714
|
budget: function (id, inp, who) { return inp.option ? { title: who + ': ' + str(inp.label || inp.option), action: { type: 'set_budget', builder_id: Number(id), monthly_usd: inp.option === 'none' ? null : Number(inp.option) } } : null; },
|
|
718
715
|
},
|
|
@@ -779,7 +776,6 @@
|
|
|
779
776
|
if (s.council && COUNCIL_ACTS[s.kind] && COUNCIL_ACTS[s.kind][key]) return councilRequest(s, key, inp);
|
|
780
777
|
if (ACT_ROUTES[s.kind] && ACT_ROUTES[s.kind][key]) return ACT_ROUTES[s.kind][key](enc(s.id), inp);
|
|
781
778
|
if (s.kind === 'override_requests' && key === 'release') return post('/override-requests/' + enc(s.id) + '/decide', { decision: 'approve' });
|
|
782
|
-
if (s.kind === 'gate_approvals' && key === 'release') return post('/gate-approvals/' + enc(s.id) + '/approve', {});
|
|
783
779
|
return null; // hold, abstain and the core's release (a link) record nothing here
|
|
784
780
|
}
|
|
785
781
|
|
|
@@ -814,7 +810,7 @@
|
|
|
814
810
|
if (key === 'abstain') return { toast: 'Noted. Nothing goes on the record, and it still waits for your vote until it closes.', building: null, kind: null, close: true };
|
|
815
811
|
if (key === 'revise') return { toast: 'Revised. It sits again on the new wording.', building: b, kind: 'light', close: true };
|
|
816
812
|
if (key === 'hold') return { toast: 'Held. It waits for you.', building: null, kind: null, close: true };
|
|
817
|
-
if (key === 'release') return { toast:
|
|
813
|
+
if (key === 'release') return { toast: 'Released. It goes live.', building: b, kind: 'rise', close: true };
|
|
818
814
|
if (key === 'fine') return { toast: cv && cv.source === 'goal_join_requests' ? 'Noted. ' + who + ' joins the team.' : 'Noted. ' + who + ' is invited in.', building: b, kind: 'rise', close: false };
|
|
819
815
|
if (key === 'refuse') return { toast: 'Noted. ' + who + ' is not let in.', building: b, kind: 'settle', close: false };
|
|
820
816
|
if (key === 'record') {
|
|
@@ -154,12 +154,12 @@
|
|
|
154
154
|
|
|
155
155
|
// The words a floor counts its rows in, and says when it is cleared.
|
|
156
156
|
const NOUNS = Object.freeze({
|
|
157
|
-
access_requests: 'waiting', goal_join_requests: 'asking', override_requests: 'asked',
|
|
157
|
+
access_requests: 'waiting', goal_join_requests: 'asking', override_requests: 'asked',
|
|
158
158
|
core_update: 'update', blockers: 'waiting', board: 'open vote', idea: 'open vote',
|
|
159
159
|
});
|
|
160
160
|
const CLEAR = Object.freeze({
|
|
161
161
|
access_requests: 'Everyone is in', goal_join_requests: 'No one is asking', override_requests: 'No overrides asked',
|
|
162
|
-
|
|
162
|
+
blockers: 'Nothing blocked on you', board: 'Every vote is in', idea: 'No ideas waiting',
|
|
163
163
|
// every other floor that holds matters says its own line too (task 1004562)
|
|
164
164
|
redteam_reports: 'No reports open', removal_proposals: 'No removals asked', grade_appeals: 'No appeals open',
|
|
165
165
|
module_rechecks: 'Every module checked', criteria_uat: 'Nothing waits for a tester', core_update: 'Core is up to date',
|
|
@@ -466,7 +466,7 @@
|
|
|
466
466
|
release: {
|
|
467
467
|
holds: 'Putting finished work live, and taking updates to Bongos itself.', rule: 'decide', cap: 7,
|
|
468
468
|
growth: 'Room for a second gate if releases are ever split by area.', annex: 'room for a second gate',
|
|
469
|
-
floors: [['Overrides', 'past a failed check or grade', { source: 'override_requests' }], ['Modules', 'listed modules, and their re-checks', { source: 'module_rechecks' }], ['Held back', 'work held from going live', { floor: 'release.held_back' }], ['Core update', 'a new version of Bongos', { source: 'core_update', desk: 'release.core' }], ['Live this month', 'what went live', { floor: 'release.live_month' }]
|
|
469
|
+
floors: [['Overrides', 'past a failed check or grade', { source: 'override_requests' }], ['Modules', 'listed modules, and their re-checks', { source: 'module_rechecks' }], ['Held back', 'work held from going live', { floor: 'release.held_back' }], ['Core update', 'a new version of Bongos', { source: 'core_update', desk: 'release.core' }], ['Live this month', 'what went live', { floor: 'release.live_month' }]],
|
|
470
470
|
},
|
|
471
471
|
treasury: {
|
|
472
472
|
holds: 'The budget, and who gets paid for what.', rule: 'majority', cap: 7,
|
|
@@ -230,7 +230,7 @@
|
|
|
230
230
|
|
|
231
231
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
232
232
|
<script src="/builders/craft-mode.js?v=2026-10-09-living3"></script>
|
|
233
|
-
<script src="/builders/shell.js?v=2026-10-25-
|
|
233
|
+
<script src="/builders/shell.js?v=2026-10-25-autobongos"></script>
|
|
234
234
|
<script src="/builders/palette.js" defer></script>
|
|
235
235
|
<script src="/builders/gov-living.js?v=2026-10-09-positions1"></script>
|
|
236
236
|
<script src="/builders/gov-feeds.js?v=2026-10-09-living3"></script>
|
|
@@ -190,7 +190,7 @@
|
|
|
190
190
|
|
|
191
191
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
192
192
|
<script src="/builders/craft-mode.js?v=2026-10-09-living3"></script>
|
|
193
|
-
<script src="/builders/shell.js?v=2026-10-25-
|
|
193
|
+
<script src="/builders/shell.js?v=2026-10-25-autobongos"></script>
|
|
194
194
|
<script src="/builders/palette.js" defer></script>
|
|
195
195
|
<script src="/builders/dom-utils.js?v=2026-06-23-contrib"></script>
|
|
196
196
|
<!-- The kit, for its ONE renderer: the full-size ship-time visual figure
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
time so the chrome exists before the deferred page scripts execute. -->
|
|
58
58
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
59
59
|
<script src="/builders/craft-mode.js?v=2026-10-09-living3"></script>
|
|
60
|
-
<script src="/builders/shell.js?v=2026-10-25-
|
|
60
|
+
<script src="/builders/shell.js?v=2026-10-25-autobongos"></script>
|
|
61
61
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
62
62
|
<script src="/builders/palette.js" defer></script>
|
|
63
63
|
<!-- shared frontend toolkit (window.OTB) — loaded FIRST so task.js can pull from it. -->
|
|
@@ -140,7 +140,7 @@
|
|
|
140
140
|
|
|
141
141
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
142
142
|
<script src="/builders/craft-mode.js?v=2026-10-09-living3"></script>
|
|
143
|
-
<script src="/builders/shell.js?v=2026-10-25-
|
|
143
|
+
<script src="/builders/shell.js?v=2026-10-25-autobongos"></script>
|
|
144
144
|
<script src="/builders/palette.js" defer></script>
|
|
145
145
|
|
|
146
146
|
<script src="/builders/idea-objects.js?v=2026-09-27-split"></script>
|
|
@@ -144,7 +144,7 @@
|
|
|
144
144
|
|
|
145
145
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
146
146
|
<script src="/builders/craft-mode.js?v=2026-10-09-living3"></script>
|
|
147
|
-
<script src="/builders/shell.js?v=2026-10-25-
|
|
147
|
+
<script src="/builders/shell.js?v=2026-10-25-autobongos"></script>
|
|
148
148
|
<script src="/builders/palette.js" defer></script>
|
|
149
149
|
<script src="/builders/dom-utils.js?v=2026-06-23-contrib"></script>
|
|
150
150
|
<script src="/builders/brand-holes.js?v=2026-09-29-aqfix"></script>
|
|
@@ -165,7 +165,7 @@
|
|
|
165
165
|
chrome exists before the page script runs. -->
|
|
166
166
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
167
167
|
<script src="/builders/craft-mode.js?v=2026-10-09-living3"></script>
|
|
168
|
-
<script src="/builders/shell.js?v=2026-10-25-
|
|
168
|
+
<script src="/builders/shell.js?v=2026-10-25-autobongos"></script>
|
|
169
169
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
170
170
|
<script src="/builders/palette.js" defer></script>
|
|
171
171
|
<!-- shared frontend toolkit (window.OTB) — loaded before watch.js, which pulls from it. -->
|
|
@@ -173,7 +173,7 @@
|
|
|
173
173
|
time so the chrome exists before the deferred page scripts execute. -->
|
|
174
174
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
175
175
|
<script src="/builders/craft-mode.js?v=2026-10-09-living3"></script>
|
|
176
|
-
<script src="/builders/shell.js?v=2026-10-25-
|
|
176
|
+
<script src="/builders/shell.js?v=2026-10-25-autobongos"></script>
|
|
177
177
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
178
178
|
<script src="/builders/palette.js" defer></script>
|
|
179
179
|
<!-- shared frontend toolkit (window.OTB) — loaded FIRST so work.js can pull from it. -->
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
// commits, through the SAME function the direct route calls:
|
|
7
7
|
// review satisfy_criterion → satisfyByOverride (POST /done-when/:id/satisfy)
|
|
8
8
|
// release approve_override → db.decideOverrideRequest (POST /override-requests/:id/decide)
|
|
9
|
-
// release approve_gate → approveGatePr (POST /gate-approvals/:pr/approve)
|
|
10
9
|
// The government module only checks the act's shape and calls in through the
|
|
11
10
|
// 'governor.matterAct' contribution point (a module never requires a sibling).
|
|
12
11
|
// Each act returns { done, reason? }: a refusal the route would give (already
|
|
@@ -23,7 +22,6 @@ const why = (area, ctx) => `A passed ${area} matter (matter ${ctx && ctx.matterI
|
|
|
23
22
|
// functions are needed here.
|
|
24
23
|
const routes = {
|
|
25
24
|
doneWhen: () => require('./routes/done-when'),
|
|
26
|
-
gate: () => require('./routes/gate-approvals'),
|
|
27
25
|
};
|
|
28
26
|
|
|
29
27
|
const ACTS = Object.freeze({
|
|
@@ -47,10 +45,6 @@ const ACTS = Object.freeze({
|
|
|
47
45
|
throw err;
|
|
48
46
|
}
|
|
49
47
|
},
|
|
50
|
-
approve_gate: async (action, ctx) => {
|
|
51
|
-
const out = await routes.gate().approveGatePr({ number: action.pr, login: `council, matter ${ctx && ctx.matterId}` });
|
|
52
|
-
return out.ok ? { done: true } : { done: false, reason: out.code };
|
|
53
|
-
},
|
|
54
48
|
}),
|
|
55
49
|
});
|
|
56
50
|
|
package/package-lock.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bongos/core",
|
|
3
|
-
"version": "1.21.
|
|
3
|
+
"version": "1.21.178",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@bongos/core",
|
|
9
|
-
"version": "1.21.
|
|
9
|
+
"version": "1.21.178",
|
|
10
10
|
"license": "AGPL-3.0-or-later",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"express": "^4.21.2",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bongos/core",
|
|
3
|
-
"version": "1.21.
|
|
3
|
+
"version": "1.21.178",
|
|
4
4
|
"description": "Cloud Bongos — the AI-first build platform core (GDS + platform surfaces + module system), installed as a versioned dependency (ADR 0108).",
|
|
5
5
|
"license": "AGPL-3.0-or-later",
|
|
6
6
|
"main": "src/platform-server.js",
|
package/release-notes.json
CHANGED
|
@@ -10322,5 +10322,27 @@
|
|
|
10322
10322
|
"id": "1004856",
|
|
10323
10323
|
"text": "Removed 30 old scripts that each did one job once (mostly creating batches of tasks) and were never used again — about 6,500 lines less to read and maintain. Nothing that runs today used them."
|
|
10324
10324
|
}
|
|
10325
|
+
],
|
|
10326
|
+
"1.21.178": [
|
|
10327
|
+
{
|
|
10328
|
+
"id": "1004888",
|
|
10329
|
+
"text": "A test now guarantees the 2.4 MB of hall sample data from this instance can never sneak back into the core every hosted project installs, while the hall preview tool itself keeps shipping."
|
|
10330
|
+
},
|
|
10331
|
+
{
|
|
10332
|
+
"id": "1004889",
|
|
10333
|
+
"text": "An automatic security check on search results works again, and it now really catches a private note leaking to the wrong person instead of passing by luck."
|
|
10334
|
+
},
|
|
10335
|
+
{
|
|
10336
|
+
"id": "1004886",
|
|
10337
|
+
"text": "Core releases can no longer be labelled as containing code that never actually went out."
|
|
10338
|
+
},
|
|
10339
|
+
{
|
|
10340
|
+
"id": "1004859",
|
|
10341
|
+
"text": "The Gate page is now called Autobongos. It keeps the runner controls and drops the list of held pull requests, which was always empty because the check it waited on never ran. Old links to /gate still work. The two permissions"
|
|
10342
|
+
},
|
|
10343
|
+
{
|
|
10344
|
+
"id": "1004863",
|
|
10345
|
+
"text": "Eight database tests that had quietly stopped working are repaired and now run on every change, including the one that proves an idea's author is never paid twice and the one that proves search never shows someone a page above"
|
|
10346
|
+
}
|
|
10325
10347
|
]
|
|
10326
10348
|
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
// • core<->host fitness-boundary overlaps — repo dirs that shadow core's reserved
|
|
9
9
|
// src/bongos or modules/ namespaces the fitness gate scans (ADR 0062 §1).
|
|
10
10
|
// • protected-path landings — incoming files that fall on the trust-boundary hard
|
|
11
|
-
// floor (ADR 0043, via
|
|
11
|
+
// floor (ADR 0043, via hard-floor.js's canonical matchesHardFloor).
|
|
12
12
|
// • CI collisions — the repo's workflows vs core's expected unit/secret-scan/
|
|
13
13
|
// gate-review checks.
|
|
14
14
|
// • IGNORED incoming files — a pre-existing .gitignore rule that would swallow what
|
|
@@ -26,7 +26,7 @@ const nodeFs = require('node:fs');
|
|
|
26
26
|
const nodePath = require('node:path');
|
|
27
27
|
const { execFileSync: nodeExecFileSync } = require('node:child_process');
|
|
28
28
|
const { filenameViolation, INSTANCE_NS } = require('./migration-namespace');
|
|
29
|
-
const { matchesHardFloor } = require('./
|
|
29
|
+
const { matchesHardFloor } = require('./hard-floor');
|
|
30
30
|
|
|
31
31
|
const SEV = { BLOCK: 'blocking', WARN: 'warning', INFO: 'info' };
|
|
32
32
|
const CORE_EXPECTED_CHECKS = ['unit', 'secret-scan', 'gate-review']; // the merge-gate checks core adds
|
|
@@ -66,7 +66,7 @@ function checkFitnessBoundary({ topLevelDirs = [], hasSrcBongos = false } = {})
|
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
// PURE — incoming paths → protected-path findings (ADR 0043). Which files adopt writes
|
|
69
|
-
// land on the trust-boundary hard floor (via
|
|
69
|
+
// land on the trust-boundary hard floor (via hard-floor.js's canonical matcher)?
|
|
70
70
|
function checkProtectedPaths(incoming = INCOMING_PATHS) {
|
|
71
71
|
const hits = incoming.filter((p) => matchesHardFloor(p));
|
|
72
72
|
if (!hits.length) return [{ category: 'protected-paths', severity: SEV.INFO, message: 'no incoming files land on protected paths.' }];
|
|
@@ -165,14 +165,12 @@ ALLOWLIST=(
|
|
|
165
165
|
'tests/setup_smoke.mjs'
|
|
166
166
|
|
|
167
167
|
# Test DATA that pins a real contract (task 1002640) — identity in an
|
|
168
|
-
# assertion IS the contract, not a mis-attribution:
|
|
169
|
-
# the Archon's login (gate_approvals), packaging/provisioning tests
|
|
168
|
+
# assertion IS the contract, not a mis-attribution: packaging/provisioning tests
|
|
170
169
|
# exercise the real repo owner + the mirror-redaction floor. Listed per file
|
|
171
170
|
# (never a blanket tests/ exclusion) so a NEW test file is still scanned.
|
|
172
171
|
'tests/provision.mjs'
|
|
173
172
|
'tests/package_core.mjs'
|
|
174
173
|
'tests/init.mjs'
|
|
175
|
-
'tests/gate_approvals.mjs'
|
|
176
174
|
'tests/publish_reconciler.mjs'
|
|
177
175
|
'tests/dev_lib.mjs'
|
|
178
176
|
'tests/ship_card.mjs'
|