@bongos/core 1.21.152 → 1.21.154
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 +44 -29
- package/docs/api/openapi.json +1 -1
- package/docs/copy-inventory.md +315 -307
- package/docs/copy-registry.json +431 -359
- package/docs/module-api-changelog.md +4 -0
- package/docs/modules-contract.md +2 -0
- package/docs/page-readings.json +224 -216
- package/modules/hall-ui/public/modules.html +16 -0
- package/modules/hall-ui/public/modules.js +116 -0
- package/modules/hall-ui/public/modules.states.json +2 -1
- package/modules/hall-ui/records/catalog.md +4 -0
- package/modules/lifecycle/github-failure.js +50 -0
- package/modules/lifecycle/routes/tasks.js +2 -2
- package/modules/provisioning/github-setup.js +51 -1
- package/modules/provisioning/routes/provisioning.js +7 -2
- package/modules/public-landing/public/projects.html +33 -0
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/release-notes.json +20 -0
- package/src/bongos/module-listing.js +116 -6
- package/src/bongos/routes/modules.js +11 -3
- package/src/module-api.js +1 -1
- package/tests/github_failure.mjs +79 -0
- package/tests/github_install_nudge.mjs +219 -0
- package/tests/hall_catalog_world.mjs +31 -2
- package/tests/module_store_listing.mjs +156 -3
|
@@ -3141,5 +3141,9 @@ is load-bearing: the script throws rather than guess if it is missing, and
|
|
|
3141
3141
|
landed since 1.21.150 with no explicit bump. run 39667670641. (task 1002620)
|
|
3142
3142
|
1.21.152 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
3143
3143
|
landed since 1.21.151 with no explicit bump. run 39671625798. (task 1002620)
|
|
3144
|
+
1.21.153 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
3145
|
+
landed since 1.21.152 with no explicit bump. run 39675693737. (task 1002620)
|
|
3146
|
+
1.21.154 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
3147
|
+
landed since 1.21.153 with no explicit bump. run 39800316919. (task 1002620)
|
|
3144
3148
|
---------------------------------------------------------------------------
|
|
3145
3149
|
```
|
package/docs/modules-contract.md
CHANGED
|
@@ -392,6 +392,8 @@ Run `bongos upgrade` to confirm coreVersion compatibility, then `node scripts/gd
|
|
|
392
392
|
- Gate: Metic+ (`module.submit`) for now. This is not `bongos module submit`, which proposes a module *into* core.
|
|
393
393
|
- **A how-to is required** ([ADR 0347](adr/0347-every-store-module-ships-a-how-to.md)). `modules/<key>/HOWTO.md` is what a buyer reads — the store shows it as the module's page — so it is written for the person who installs the module, not for an AI working inside it (that is `CLAUDE.md`). It is plain Markdown: any AI or person can write it. Publish refuses the version unless it has these five level-2 headings, in any order and any case, each with some text under it: `## What it does`, `## Install and enable`, `## How to use it` (with one worked example), `## Configuration` ("None." is fine) and `## Limits and known issues` ("None known." is fine). HTML comments don't count as text, so the scaffold's prompts must be replaced. The refusal names each failing section. The check is one function, `checkHowto` in `scripts/gds/module-artifact.js`; the CLI runs it before uploading and the store runs it again on upload, so a hand-built upload can't skip it. `bongos module check` reports it as advice only — an upstream submit is not gated by it. Install and update don't re-check it, so a version published before the gate still installs. The file travels in the tarball, so its hash pins it to the version. An optional `howto.artifactUrl` in `module.json` (an `https://` link on `claude.ai`) is shown as an extra, never graded.
|
|
394
394
|
- **Getting listed** (task 1003807, [ADR 0343](adr/0343-a-module-score-is-a-security-gate-then-an-average-of-visible-parts.md)). Publishing a version does not by itself put it in the store's catalog, `GET /store/modules`. The catalog shows each module's newest version, judged by its current score. It must pass the Security gate first; a version that failed it, or has not been checked yet, is not listed. A new version with no install or reliability data yet is listed with a **New** label and is not ranked; the floor does not apply to it until it has a real score. Every other version is listed only if its overall score is **at least 50 out of 100**. Below that it is not listed at all. The floor is fixed in Bongos itself (`QUALITY_FLOOR` in `src/bongos/module-listing.js`) and returned in the catalog response; no author or instance setting moves it, and changing it is an owner-approved, reviewed task.
|
|
395
|
+
- **What a module is strong and weak at** (task 1003799, ADR 0343 D4). Each catalog entry also carries `parts` (the current result of Tests, Clean installs, Reliability, Tester feedback and How-to) and a reading of them: `strengths` (a part scored **80 or more**), `weaknesses` (a part scored **below the floor**) and `unmeasured` (a part with no score yet, which is never counted as weak). Each strength and weakness has a one-sentence `detail` saying what the number rests on. Security is not among them: every listed version has passed it. The reading is `readParts` in `src/bongos/module-listing.js`; the hall's Modules tab shows it in its "In the store" group, so two modules with the same overall score can be told apart.
|
|
396
|
+
- **Sorting by a part** (task 1003800). `GET /store/modules?sort=<part>` orders the listed modules by one part a buyer cares about: `tests`, `install`, `reliability`, `tester_feedback` or `docs` (the response lists them as `sort_parts`, and says which one it applied as `sort`). Modules with a score for that part come first, highest first; a tie goes to the higher overall score, then the module key. A module with no score for that part goes last, so missing data never wins or loses a place on its own. New modules are not sorted: they are never ranked. Any other `sort` value is refused with a 400. Without `sort`, both lists are in key order. The rule is `sortByPart` in `src/bongos/module-listing.js`.
|
|
395
397
|
|
|
396
398
|
### 7. Install from the store
|
|
397
399
|
|