@bongos/core 1.19.730 → 1.19.731
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
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
"artifact": "bongos-core",
|
|
3
3
|
"manifest_schema": 1,
|
|
4
4
|
"generator": "scripts/gds/package-core.js",
|
|
5
|
-
"core_version": "1.19.
|
|
6
|
-
"core_contract": "1.19.
|
|
7
|
-
"source_commit": "
|
|
5
|
+
"core_version": "1.19.731",
|
|
6
|
+
"core_contract": "1.19.731",
|
|
7
|
+
"source_commit": "242d39240bacfa3d1d4c88f6a78ae22248c4cbdd",
|
|
8
8
|
"source_ref": "HEAD",
|
|
9
|
-
"built_at": "2026-09-13T15:
|
|
9
|
+
"built_at": "2026-09-13T15:35:28.869Z",
|
|
10
10
|
"redaction": {
|
|
11
11
|
"model": "docs-redacted+functional-verbatim",
|
|
12
12
|
"docs_redacted": 477,
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"gate": "passed"
|
|
18
18
|
},
|
|
19
19
|
"file_count": 2602,
|
|
20
|
-
"tree_sha256": "
|
|
20
|
+
"tree_sha256": "1117799d57ae5cfa87178217b7fec728cc0de76ee02b0caba9abc559f2ecd9fa",
|
|
21
21
|
"files": [
|
|
22
22
|
{
|
|
23
23
|
"path": ".claude/skills/ask-for-help/SKILL.md",
|
|
@@ -2482,7 +2482,7 @@
|
|
|
2482
2482
|
{
|
|
2483
2483
|
"path": "docs/module-api-changelog.md",
|
|
2484
2484
|
"mode": "0000644",
|
|
2485
|
-
"sha256": "
|
|
2485
|
+
"sha256": "a4d5bc973b439bfbf41bd0b7d59b0cdffde6b0b4c18c6b4d1d73731a92736c84"
|
|
2486
2486
|
},
|
|
2487
2487
|
{
|
|
2488
2488
|
"path": "docs/modules-contract.md",
|
|
@@ -7512,12 +7512,12 @@
|
|
|
7512
7512
|
{
|
|
7513
7513
|
"path": "package-lock.json",
|
|
7514
7514
|
"mode": "0000644",
|
|
7515
|
-
"sha256": "
|
|
7515
|
+
"sha256": "7027beb6f7d395889a8876a1f54a1c2c69b992f4a78b0d1a53441b748d018669"
|
|
7516
7516
|
},
|
|
7517
7517
|
{
|
|
7518
7518
|
"path": "package.json",
|
|
7519
7519
|
"mode": "0000644",
|
|
7520
|
-
"sha256": "
|
|
7520
|
+
"sha256": "5e1af6b1b0101a246e04b20ce6b36a756a3839dc9f2e436d2e524b6a331165ff"
|
|
7521
7521
|
},
|
|
7522
7522
|
{
|
|
7523
7523
|
"path": "public-docs/index.html",
|
|
@@ -9317,7 +9317,7 @@
|
|
|
9317
9317
|
{
|
|
9318
9318
|
"path": "src/module-api.js",
|
|
9319
9319
|
"mode": "0000644",
|
|
9320
|
-
"sha256": "
|
|
9320
|
+
"sha256": "39823a07155b3f5a8b13d2a6362985aab8ac0831d46ac25778e7893708d4fd5b"
|
|
9321
9321
|
},
|
|
9322
9322
|
{
|
|
9323
9323
|
"path": "src/module-loader/catalog.js",
|
|
@@ -10807,7 +10807,7 @@
|
|
|
10807
10807
|
{
|
|
10808
10808
|
"path": "tests/government_protected_surfaces.mjs",
|
|
10809
10809
|
"mode": "0000644",
|
|
10810
|
-
"sha256": "
|
|
10810
|
+
"sha256": "4478853e79266130c2ad3ab7a523f0f20fb98a97e88f1dd2476ef09db6b96dcc"
|
|
10811
10811
|
},
|
|
10812
10812
|
{
|
|
10813
10813
|
"path": "tests/government_rank_sync.mjs",
|
|
@@ -1934,5 +1934,7 @@ is load-bearing: the script throws rather than guess if it is missing, and
|
|
|
1934
1934
|
landed since 1.19.728 with no explicit bump. run 34765179905. (task 1002620)
|
|
1935
1935
|
1.19.730 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
1936
1936
|
landed since 1.19.729 with no explicit bump. run 34765502139. (task 1002620)
|
|
1937
|
+
1.19.731 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
1938
|
+
landed since 1.19.730 with no explicit bump. run 34766029928. (task 1002620)
|
|
1937
1939
|
---------------------------------------------------------------------------
|
|
1938
1940
|
```
|
package/package-lock.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bongos/core",
|
|
3
|
-
"version": "1.19.
|
|
3
|
+
"version": "1.19.731",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@bongos/core",
|
|
9
|
-
"version": "1.19.
|
|
9
|
+
"version": "1.19.731",
|
|
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.19.
|
|
3
|
+
"version": "1.19.731",
|
|
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/src/module-api.js
CHANGED
|
@@ -71,7 +71,7 @@ const { responsibilityFor, ROLE_RESPONSIBILITIES } = require('./role-responsibil
|
|
|
71
71
|
// there. scripts/gds/bump-version.js still rewrites the literal below; it appends
|
|
72
72
|
// the entry to that file. Look for a version's history there, not here.
|
|
73
73
|
// ---------------------------------------------------------------------------
|
|
74
|
-
const CORE_VERSION = '1.19.
|
|
74
|
+
const CORE_VERSION = '1.19.731'; // CI auto-patch carrier (ADR 0161); changelog: docs/module-api-changelog.md
|
|
75
75
|
|
|
76
76
|
// A namespaced logger so a module's log lines are attributable + consistent.
|
|
77
77
|
// Usage: const log = api.logger('dev-box'); log.info('mounted');
|
|
@@ -489,6 +489,60 @@ test('every credential reader in the tree is a protected surface (1002891 tripwi
|
|
|
489
489
|
}
|
|
490
490
|
});
|
|
491
491
|
|
|
492
|
+
// ---------- the hard-floor subset: gate-review's second list may narrow, never diverge ----------
|
|
493
|
+
//
|
|
494
|
+
// task 1002875, from idea 1000620 (raised as a major by the BV1.R101 ship grader).
|
|
495
|
+
// scripts/gds/gate-review.js keeps its own HARD_FLOOR_GLOBS — the rank-INDEPENDENT
|
|
496
|
+
// escalate-to-owner set — and the comment above it declares the array to be "A subset of
|
|
497
|
+
// PROTECTED_GLOBS". That was a checkable invariant stated in prose and enforced by nothing.
|
|
498
|
+
//
|
|
499
|
+
// TWO LISTS IS THE DESIGN, NOT THE BUG, which is why this is a subset test and not a
|
|
500
|
+
// de-duplication. The registry answers "who may EDIT this path" (a rank floor, re-mappable
|
|
501
|
+
// by government). The hard floor answers "may CI auto-merge an edit to this path at all"
|
|
502
|
+
// — no, escalate to the owner, whatever the author's rank. The second is deliberately
|
|
503
|
+
// narrower: every hard-floor surface must be protected, but most protected surfaces are
|
|
504
|
+
// ordinary Metic work that should not ping the owner.
|
|
505
|
+
//
|
|
506
|
+
// Checked at BOTH altitudes on purpose. The source literal is what a reviewer reads and
|
|
507
|
+
// what the decision asked be parsed; the exported array is what compileGlobMatcher actually
|
|
508
|
+
// compiles at gate-review.js:102. Asserting they agree means a future refactor that
|
|
509
|
+
// computes or filters the list cannot leave the visible source saying one thing while the
|
|
510
|
+
// gate enforces another.
|
|
511
|
+
function hardFloorGlobsFromSource() {
|
|
512
|
+
const src = fs.readFileSync(path.join(ROOT, 'scripts', 'gds', 'gate-review.js'), 'utf8');
|
|
513
|
+
const block = src.match(/const HARD_FLOOR_GLOBS = \[([\s\S]*?)\n\];/);
|
|
514
|
+
assert.ok(block, 'could not find the HARD_FLOOR_GLOBS array literal in gate-review.js — '
|
|
515
|
+
+ 'if it was renamed or restructured, this test must be taught the new shape rather '
|
|
516
|
+
+ 'than deleted: it is the only thing holding the declared subset honest.');
|
|
517
|
+
return [...block[1].matchAll(/'([^']+)'/g)].map((m) => m[1]);
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
test('every hard-floor glob is a protected surface (1002875 subset tripwire)', () => {
|
|
521
|
+
const fromSource = hardFloorGlobsFromSource();
|
|
522
|
+
assert.ok(fromSource.length >= 20,
|
|
523
|
+
`fixture sanity: parsed ${fromSource.length} hard-floor globs out of gate-review.js, `
|
|
524
|
+
+ 'and the array has held about two dozen since it was written. A parse that returns '
|
|
525
|
+
+ 'few or none passes the subset check vacuously.');
|
|
526
|
+
|
|
527
|
+
const gr = require(path.join(ROOT, 'scripts', 'gds', 'gate-review.js'));
|
|
528
|
+
assert.deepEqual(fromSource, gr.HARD_FLOOR_GLOBS,
|
|
529
|
+
'the HARD_FLOOR_GLOBS literal in gate-review.js no longer matches the array the module '
|
|
530
|
+
+ 'exports and compiles into its matcher. The source and the enforced list must be the '
|
|
531
|
+
+ 'same thing, or a reviewer reading the file is reading a list the gate does not use.');
|
|
532
|
+
|
|
533
|
+
const registry = new Set(ppc.PROTECTED_GLOBS);
|
|
534
|
+
for (const glob of gr.HARD_FLOOR_GLOBS) {
|
|
535
|
+
assert.ok(registry.has(glob),
|
|
536
|
+
`'${glob}' is a HARD FLOOR surface in scripts/gds/gate-review.js — CI escalates any `
|
|
537
|
+
+ 'edit to it to the owner regardless of rank — but it is not in '
|
|
538
|
+
+ 'modules/government/protected-surfaces.json, so no rank floor covers it at all. '
|
|
539
|
+
+ 'The hard floor is declared to be a SUBSET of the protected set: it may be '
|
|
540
|
+
+ 'narrower (most protected paths are ordinary Metic work and should not ping the '
|
|
541
|
+
+ 'owner), never wider. Either add the glob to the registry, or remove it from '
|
|
542
|
+
+ 'HARD_FLOOR_GLOBS — do not delete this assertion.');
|
|
543
|
+
}
|
|
544
|
+
});
|
|
545
|
+
|
|
492
546
|
test('registering the credential readers widened no module wall', () => {
|
|
493
547
|
// The second-order effect task 1002891 was explicitly warned about, asserted rather
|
|
494
548
|
// than reasoned about. src/bongos/module-scope-map.js DERIVES a module's `protected`
|