@bongos/core 1.19.344 → 1.19.345

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.344",
6
- "core_contract": "1.19.344",
7
- "source_commit": "8c08be71d310a5efcda6758c75e8483382426e06",
5
+ "core_version": "1.19.345",
6
+ "core_contract": "1.19.345",
7
+ "source_commit": "ef6d8227178f4b2a0b050772442f2440b6ad34ab",
8
8
  "source_ref": "HEAD",
9
- "built_at": "2026-08-25T01:57:13.504Z",
9
+ "built_at": "2026-08-25T02:17:29.630Z",
10
10
  "redaction": {
11
11
  "model": "docs-redacted+functional-verbatim",
12
12
  "docs_redacted": 328,
@@ -17,7 +17,7 @@
17
17
  "gate": "passed"
18
18
  },
19
19
  "file_count": 1839,
20
- "tree_sha256": "6cf7037df1f7ae7c712b6255408972f1e179b6487b592b76e87520344ed0756f",
20
+ "tree_sha256": "2405d3d77e5a22dee9b903e443cef2f24c9b91b96c890cd2ad93b26ed7e208d4",
21
21
  "files": [
22
22
  {
23
23
  "path": ".claude/skills/blocker-review/SKILL.md",
@@ -4742,12 +4742,12 @@
4742
4742
  {
4743
4743
  "path": "package-lock.json",
4744
4744
  "mode": "0000644",
4745
- "sha256": "ce99df6084ae3c2b151cc254d147ece750898e9d87d33fb204b32ace1a7d8029"
4745
+ "sha256": "1f08aad9924b7023db8de3c1bb3b7212da7a826227695318d23634865f729975"
4746
4746
  },
4747
4747
  {
4748
4748
  "path": "package.json",
4749
4749
  "mode": "0000644",
4750
- "sha256": "cf51aa1815eea987d945024edc01d09faf17c7adf77ef381844d56ac096db7d9"
4750
+ "sha256": "1790b798df1626b11f335c995d9c6e6e6c297fead47852cab15f8fcfae4f89f0"
4751
4751
  },
4752
4752
  {
4753
4753
  "path": "public-docs/index.html",
@@ -6587,7 +6587,7 @@
6587
6587
  {
6588
6588
  "path": "src/module-api.js",
6589
6589
  "mode": "0000644",
6590
- "sha256": "26318bb3c73b91064f7f85d04c66203a16da0de847993823dadf3a340db7b175"
6590
+ "sha256": "3aa07baacc3e1cdc43bc310db5e0c104c931117a788879501694c9d525083634"
6591
6591
  },
6592
6592
  {
6593
6593
  "path": "src/module-loader/catalog.js",
@@ -6847,7 +6847,7 @@
6847
6847
  {
6848
6848
  "path": "tests/baseline_staleness.mjs",
6849
6849
  "mode": "0000644",
6850
- "sha256": "44a2469b0f18c62fab6d9b3fe5a5125b8a9a351b5b1b48cb88cd812994d86b10"
6850
+ "sha256": "2543492e930ace22ed9de1bf69c6efb5fdba265e88d322a45a35da18248a8731"
6851
6851
  },
6852
6852
  {
6853
6853
  "path": "tests/bfg.mjs",
package/package-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@bongos/core",
3
- "version": "1.19.344",
3
+ "version": "1.19.345",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@bongos/core",
9
- "version": "1.19.344",
9
+ "version": "1.19.345",
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.344",
3
+ "version": "1.19.345",
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
@@ -1118,8 +1118,10 @@ const { validateOrRespond, LIMITS, parseId, asyncHandler, corsPublicGet, parsePa
1118
1118
  // landed since 1.19.342 with no explicit bump. run 32799245758. (task 1002620)
1119
1119
  // 1.19.344 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
1120
1120
  // landed since 1.19.343 with no explicit bump. run 32799492873. (task 1002620)
1121
+ // 1.19.345 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
1122
+ // landed since 1.19.344 with no explicit bump. run 32800819617. (task 1002620)
1121
1123
  // ---------------------------------------------------------------------------
1122
- const CORE_VERSION = '1.19.344'; // CI auto-patch carrier (ADR 0161); see changelog above
1124
+ const CORE_VERSION = '1.19.345'; // CI auto-patch carrier (ADR 0161); see changelog above
1123
1125
 
1124
1126
  // A namespaced logger so a module's log lines are attributable + consistent.
1125
1127
  // Usage: const log = api.logger('dev-box'); log.info('mounted');
@@ -165,18 +165,27 @@ test('LIVE: every floor in the shipped baseline file carries a reason', () => {
165
165
  assert.equal(r.historyAvailable, true, 'this checkout should have git history for the baseline file');
166
166
  });
167
167
 
168
- test('LIVE: shrink the window to 1 day and the real baselines DO get flagged', () => {
169
- // Proof the check is not passing because it cannot see. Every current baseline
170
- // was written days ago, so at a one-day window the reducible ones must surface —
171
- // if this returns nothing, the detector is inert.
172
- const r = bs.run({ maxAgeDays: 1 });
173
- assert.ok(r.stale.length > 0, 'a 1-day window must flag the real baselines');
168
+ test('LIVE: shrink the window past zero and the real baselines DO get flagged', () => {
169
+ // Proof the detector is not passing merely because it cannot see. A negative
170
+ // window makes EVERY metric with a measurable age older than the threshold, so
171
+ // the flagged set is decided purely by the exemption rules.
172
+ //
173
+ // This deliberately names no individual metric. The first version asserted
174
+ // `doc_stale_links` would be flagged; task 1003211 then reduced that metric,
175
+ // resetting its age to zero, and the test went red on a tree that was perfectly
176
+ // healthy — it had been pinned to transient state rather than to a property.
177
+ // Paying debt down must never break the check that watches the debt.
178
+ const r = bs.run({ maxAgeDays: -1 });
174
179
  const names = r.stale.map((s) => s.name);
175
- assert.ok(names.includes('doc_stale_links'), `expected doc_stale_links among ${names.join(', ')}`);
176
- // …and the exempt ones must STILL be exempt at a 1-day window: the exemption is
177
- // the floor, not the clock.
180
+ assert.ok(names.length > 0, 'a negative window must flag every metric that is above its floor');
181
+ // The exemptions are the floor and zero, never the clock — so they hold even
182
+ // when the window guarantees everything else is flagged.
178
183
  assert.ok(!names.includes('require_cycle_count'), 'a metric at its declared floor must never be flagged');
179
184
  assert.ok(!names.includes('oversized_file_count'), 'a metric at zero must never be flagged');
185
+ assert.ok(!names.includes('excess_lines_total'), 'a metric at zero must never be flagged');
186
+ // Every flagged metric must genuinely be above its floor — the flag means
187
+ // "reducible and unmoved", not merely "old".
188
+ for (const s of r.stale) assert.ok(s.value > s.floor, `${s.name} flagged at or below its floor`);
180
189
  });
181
190
 
182
191
  test('LIVE: --update-baselines preserves the floors instead of overwriting them', () => {