@bongos/core 1.19.1025 → 1.19.1026
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 +51 -26
- package/clients/bongos-client/README.md +1 -1
- package/clients/bongos-client/bongos-client.global.js +2 -0
- package/clients/bongos-client/index.cjs +2 -0
- package/clients/bongos-client/index.d.ts +3 -0
- package/clients/bongos-client/index.mjs +2 -0
- package/docs/api/openapi.json +51 -4
- package/docs/api-reference.md +4 -3
- package/docs/copy-inventory.md +3 -3
- package/docs/copy-registry.json +4 -14
- package/docs/module-api-changelog.md +2 -0
- package/modules/hall-ui/public/goal-map.html +1 -1
- package/modules/platform-identity/community-leaderboard.js +235 -0
- package/modules/platform-identity/module.json +1 -1
- package/modules/platform-identity/read-rate-limit.js +61 -0
- package/modules/platform-identity/routes/community-leaderboard.js +69 -0
- package/modules/platform-identity/routes/community-search.js +4 -31
- package/modules/platform-identity/routes/projects.js +1 -1
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/scripts/gds/run-unit-tests.js +5 -0
- package/src/module-api.js +1 -1
- package/tests/community_leaderboard_db.mjs +202 -0
- package/tests/community_leaderboard_route.mjs +414 -0
- package/tests/goal_map_page.mjs +8 -0
package/.bongos-core.json
CHANGED
|
@@ -2,22 +2,22 @@
|
|
|
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.1026",
|
|
6
|
+
"core_contract": "1.19.1026",
|
|
7
|
+
"source_commit": "7c884f0248b594a73ef78097031ee52706b2ab4d",
|
|
8
8
|
"source_ref": "HEAD",
|
|
9
|
-
"built_at": "2026-09-25T20:
|
|
9
|
+
"built_at": "2026-09-25T20:35:40.664Z",
|
|
10
10
|
"redaction": {
|
|
11
11
|
"model": "docs-redacted+functional-verbatim",
|
|
12
12
|
"docs_redacted": 529,
|
|
13
13
|
"agent_docs_stubbed": 26,
|
|
14
|
-
"functional_verbatim":
|
|
14
|
+
"functional_verbatim": 2451,
|
|
15
15
|
"rules": 3,
|
|
16
16
|
"gate_literals": 3,
|
|
17
17
|
"gate": "passed"
|
|
18
18
|
},
|
|
19
|
-
"file_count":
|
|
20
|
-
"tree_sha256": "
|
|
19
|
+
"file_count": 3006,
|
|
20
|
+
"tree_sha256": "ad4178b0a78588ad05270cd003c975b5e6bf842c523807dca0830bc39bb4e228",
|
|
21
21
|
"files": [
|
|
22
22
|
{
|
|
23
23
|
"path": ".claude/skills/ask-for-help/SKILL.md",
|
|
@@ -352,12 +352,12 @@
|
|
|
352
352
|
{
|
|
353
353
|
"path": "clients/bongos-client/README.md",
|
|
354
354
|
"mode": "0000644",
|
|
355
|
-
"sha256": "
|
|
355
|
+
"sha256": "799e58c1a74db1a78f39ba5d0344a9e8b24345a1d6f789d2a3ba3af7b72bf1fe"
|
|
356
356
|
},
|
|
357
357
|
{
|
|
358
358
|
"path": "clients/bongos-client/bongos-client.global.js",
|
|
359
359
|
"mode": "0000644",
|
|
360
|
-
"sha256": "
|
|
360
|
+
"sha256": "09f0016d9dab256d7e7964f41baca3cee29522ff0a6897aae97d5c3ce666b9f4"
|
|
361
361
|
},
|
|
362
362
|
{
|
|
363
363
|
"path": "clients/bongos-client/examples/hello-world.mjs",
|
|
@@ -367,17 +367,17 @@
|
|
|
367
367
|
{
|
|
368
368
|
"path": "clients/bongos-client/index.cjs",
|
|
369
369
|
"mode": "0000644",
|
|
370
|
-
"sha256": "
|
|
370
|
+
"sha256": "09a9eb70bfc1249ad9a184613a3e8f17441a85c339deda809d980799c84be5f0"
|
|
371
371
|
},
|
|
372
372
|
{
|
|
373
373
|
"path": "clients/bongos-client/index.d.ts",
|
|
374
374
|
"mode": "0000644",
|
|
375
|
-
"sha256": "
|
|
375
|
+
"sha256": "aa1e1f51220283664f065f090129af0f45c04343b2f0d0452b6b6d4c4bc894d1"
|
|
376
376
|
},
|
|
377
377
|
{
|
|
378
378
|
"path": "clients/bongos-client/index.mjs",
|
|
379
379
|
"mode": "0000644",
|
|
380
|
-
"sha256": "
|
|
380
|
+
"sha256": "4a6ae5ad6edbe36cc099bda8df7bf6d3086661c8703d01637a1ac9adbc73679c"
|
|
381
381
|
},
|
|
382
382
|
{
|
|
383
383
|
"path": "clients/bongos-client/package.json",
|
|
@@ -2192,12 +2192,12 @@
|
|
|
2192
2192
|
{
|
|
2193
2193
|
"path": "docs/api-reference.md",
|
|
2194
2194
|
"mode": "0000644",
|
|
2195
|
-
"sha256": "
|
|
2195
|
+
"sha256": "628c6ce6d0dfdaf518081069699a04b32c37eff61ef51b43f849fd1febfe9873"
|
|
2196
2196
|
},
|
|
2197
2197
|
{
|
|
2198
2198
|
"path": "docs/api/openapi.json",
|
|
2199
2199
|
"mode": "0000644",
|
|
2200
|
-
"sha256": "
|
|
2200
|
+
"sha256": "a8d09e50133db28d1af1c6214984cd474cc064996252812ab4cdc56e8abcdc02"
|
|
2201
2201
|
},
|
|
2202
2202
|
{
|
|
2203
2203
|
"path": "docs/architecture.md",
|
|
@@ -2222,12 +2222,12 @@
|
|
|
2222
2222
|
{
|
|
2223
2223
|
"path": "docs/copy-inventory.md",
|
|
2224
2224
|
"mode": "0000644",
|
|
2225
|
-
"sha256": "
|
|
2225
|
+
"sha256": "d35a354da2a802369f229f078ecad6af4e9795e3b8c3c33cde5baddad6fe29cb"
|
|
2226
2226
|
},
|
|
2227
2227
|
{
|
|
2228
2228
|
"path": "docs/copy-registry.json",
|
|
2229
2229
|
"mode": "0000644",
|
|
2230
|
-
"sha256": "
|
|
2230
|
+
"sha256": "aa10b864198f56d4f8dbe86b1e89f340e43bd3f03159b89282fb1ce008aadc3b"
|
|
2231
2231
|
},
|
|
2232
2232
|
{
|
|
2233
2233
|
"path": "docs/design/apex-pass-2-direction.md",
|
|
@@ -2757,7 +2757,7 @@
|
|
|
2757
2757
|
{
|
|
2758
2758
|
"path": "docs/module-api-changelog.md",
|
|
2759
2759
|
"mode": "0000644",
|
|
2760
|
-
"sha256": "
|
|
2760
|
+
"sha256": "99f4d160094c9387e0ecd96f36e18d5ff8338714c64ad1bba2aa826a6cc5f618"
|
|
2761
2761
|
},
|
|
2762
2762
|
{
|
|
2763
2763
|
"path": "docs/modules-contract.md",
|
|
@@ -5022,7 +5022,7 @@
|
|
|
5022
5022
|
{
|
|
5023
5023
|
"path": "modules/hall-ui/public/goal-map.html",
|
|
5024
5024
|
"mode": "0000644",
|
|
5025
|
-
"sha256": "
|
|
5025
|
+
"sha256": "bde630116cf4d35cb5fa489a2a4add8a1dd9906b597647f206b740dcc8d1affe"
|
|
5026
5026
|
},
|
|
5027
5027
|
{
|
|
5028
5028
|
"path": "modules/hall-ui/public/goal-map.states.json",
|
|
@@ -6474,6 +6474,11 @@
|
|
|
6474
6474
|
"mode": "0000644",
|
|
6475
6475
|
"sha256": "2aa433ba293545a313972f88b1143d74551cb6ec4e06747906ff7e3c365f4e6a"
|
|
6476
6476
|
},
|
|
6477
|
+
{
|
|
6478
|
+
"path": "modules/platform-identity/community-leaderboard.js",
|
|
6479
|
+
"mode": "0000644",
|
|
6480
|
+
"sha256": "9a13f35faafbeee1186a3cc2056aec1169cf3d5b6bc3a80dd9202aa999757c67"
|
|
6481
|
+
},
|
|
6477
6482
|
{
|
|
6478
6483
|
"path": "modules/platform-identity/connection-suggestions.js",
|
|
6479
6484
|
"mode": "0000644",
|
|
@@ -6627,7 +6632,7 @@
|
|
|
6627
6632
|
{
|
|
6628
6633
|
"path": "modules/platform-identity/module.json",
|
|
6629
6634
|
"mode": "0000644",
|
|
6630
|
-
"sha256": "
|
|
6635
|
+
"sha256": "3fc51261ee5262a5a9442e514e3706a055f9994723bd33f83e567ec881e9f6b6"
|
|
6631
6636
|
},
|
|
6632
6637
|
{
|
|
6633
6638
|
"path": "modules/platform-identity/origin-containment.js",
|
|
@@ -6669,15 +6674,25 @@
|
|
|
6669
6674
|
"mode": "0000644",
|
|
6670
6675
|
"sha256": "233b2479304b45339b2e31529b47cb1af1ccb48b77a7f6845dd8ef6af52031e0"
|
|
6671
6676
|
},
|
|
6677
|
+
{
|
|
6678
|
+
"path": "modules/platform-identity/read-rate-limit.js",
|
|
6679
|
+
"mode": "0000644",
|
|
6680
|
+
"sha256": "50469113a1305d83b418fc7c7bc4438d9d7992aaca2e96ba8df0b2ed240c0158"
|
|
6681
|
+
},
|
|
6672
6682
|
{
|
|
6673
6683
|
"path": "modules/platform-identity/recruiter-sliver.js",
|
|
6674
6684
|
"mode": "0000644",
|
|
6675
6685
|
"sha256": "4f6854050e3c7459f698c550577fa97958a573d7f1981c9de4d29417af2669c0"
|
|
6676
6686
|
},
|
|
6687
|
+
{
|
|
6688
|
+
"path": "modules/platform-identity/routes/community-leaderboard.js",
|
|
6689
|
+
"mode": "0000644",
|
|
6690
|
+
"sha256": "fa8b8a0d99edcf443700cd8f93ea7c198e21b5150524da126d31cb1ef1bd393e"
|
|
6691
|
+
},
|
|
6677
6692
|
{
|
|
6678
6693
|
"path": "modules/platform-identity/routes/community-search.js",
|
|
6679
6694
|
"mode": "0000644",
|
|
6680
|
-
"sha256": "
|
|
6695
|
+
"sha256": "cc0482e44f10940000e1a83885d805fbb20c890969dd9449f8525363f05b5cf3"
|
|
6681
6696
|
},
|
|
6682
6697
|
{
|
|
6683
6698
|
"path": "modules/platform-identity/routes/connections.js",
|
|
@@ -6697,7 +6712,7 @@
|
|
|
6697
6712
|
{
|
|
6698
6713
|
"path": "modules/platform-identity/routes/projects.js",
|
|
6699
6714
|
"mode": "0000644",
|
|
6700
|
-
"sha256": "
|
|
6715
|
+
"sha256": "575d89666362e57e04ac0fd6dcd13b3f5125ba46e5cdb371cb3456f9ee383d88"
|
|
6701
6716
|
},
|
|
6702
6717
|
{
|
|
6703
6718
|
"path": "modules/platform-identity/routes/public-profile.js",
|
|
@@ -8322,12 +8337,12 @@
|
|
|
8322
8337
|
{
|
|
8323
8338
|
"path": "package-lock.json",
|
|
8324
8339
|
"mode": "0000644",
|
|
8325
|
-
"sha256": "
|
|
8340
|
+
"sha256": "170293a219ad01cf0472d65b0e34ca7bcad8f55ab9375cda9374662160dd5774"
|
|
8326
8341
|
},
|
|
8327
8342
|
{
|
|
8328
8343
|
"path": "package.json",
|
|
8329
8344
|
"mode": "0000644",
|
|
8330
|
-
"sha256": "
|
|
8345
|
+
"sha256": "95cc86daa3d8a830540662ff083d2f00c0ae82fecd12546c6523a1ddc29a8b4b"
|
|
8331
8346
|
},
|
|
8332
8347
|
{
|
|
8333
8348
|
"path": "public-docs/index.html",
|
|
@@ -9452,7 +9467,7 @@
|
|
|
9452
9467
|
{
|
|
9453
9468
|
"path": "scripts/gds/run-unit-tests.js",
|
|
9454
9469
|
"mode": "0000644",
|
|
9455
|
-
"sha256": "
|
|
9470
|
+
"sha256": "7b884397d2ed141c3f2cea55689517a350c68eee8f543fb6eb88dfbe60d116d8"
|
|
9456
9471
|
},
|
|
9457
9472
|
{
|
|
9458
9473
|
"path": "scripts/gds/runner-drift.js",
|
|
@@ -10372,7 +10387,7 @@
|
|
|
10372
10387
|
{
|
|
10373
10388
|
"path": "src/module-api.js",
|
|
10374
10389
|
"mode": "0000644",
|
|
10375
|
-
"sha256": "
|
|
10390
|
+
"sha256": "9d40b263991898abf849c1825b81673dc2a0e8663f5775cd62c6c312441691d6"
|
|
10376
10391
|
},
|
|
10377
10392
|
{
|
|
10378
10393
|
"path": "src/module-loader/catalog.js",
|
|
@@ -11234,6 +11249,16 @@
|
|
|
11234
11249
|
"mode": "0000644",
|
|
11235
11250
|
"sha256": "654e70af16092ed0dc76c058b245863c8470b8c3441c39e4c4f5bfd40f60c138"
|
|
11236
11251
|
},
|
|
11252
|
+
{
|
|
11253
|
+
"path": "tests/community_leaderboard_db.mjs",
|
|
11254
|
+
"mode": "0000644",
|
|
11255
|
+
"sha256": "01ab453d5031d6a1d1f61f1739c2818e4a2c708bb772a71487ecaba8f0c952ce"
|
|
11256
|
+
},
|
|
11257
|
+
{
|
|
11258
|
+
"path": "tests/community_leaderboard_route.mjs",
|
|
11259
|
+
"mode": "0000644",
|
|
11260
|
+
"sha256": "2422db729a9c4ad27d19d2fba5dff50b0f1a6730b3f68cb854a4f810f893445a"
|
|
11261
|
+
},
|
|
11237
11262
|
{
|
|
11238
11263
|
"path": "tests/community_search_route.mjs",
|
|
11239
11264
|
"mode": "0000644",
|
|
@@ -11922,7 +11947,7 @@
|
|
|
11922
11947
|
{
|
|
11923
11948
|
"path": "tests/goal_map_page.mjs",
|
|
11924
11949
|
"mode": "0000644",
|
|
11925
|
-
"sha256": "
|
|
11950
|
+
"sha256": "8a9b5128b2b86acc42b023f7ef86ff777139575921bbf153b1e0bd48b39c224b"
|
|
11926
11951
|
},
|
|
11927
11952
|
{
|
|
11928
11953
|
"path": "tests/goal_member_kinds.mjs",
|
|
@@ -5,7 +5,7 @@ A **generated**, zero-dependency typed client for the Bongos API — produced fr
|
|
|
5
5
|
by hand; it regenerates when the spec changes, so it can never drift from the routes.
|
|
6
6
|
|
|
7
7
|
- API version: **v1** (served at `/api/bongos/v1`)
|
|
8
|
-
-
|
|
8
|
+
- 420 operations across 63 resource groups
|
|
9
9
|
|
|
10
10
|
## Use it from your project
|
|
11
11
|
|
|
@@ -311,6 +311,8 @@ function createClient(opts = {}) {
|
|
|
311
311
|
getClosenessWithBuilderId: (args) => request("GET", "/closeness/with/{builderId}", { hasBody: false }, args),
|
|
312
312
|
},
|
|
313
313
|
"community": {
|
|
314
|
+
// GET /community/leaderboard — rank: public — GET /community/leaderboard
|
|
315
|
+
getCommunityLeaderboard: (args) => request("GET", "/community/leaderboard", { hasBody: false }, args),
|
|
314
316
|
// GET /community/search — rank: public — GET /community/search
|
|
315
317
|
getCommunitySearch: (args) => request("GET", "/community/search", { hasBody: false }, args),
|
|
316
318
|
},
|
|
@@ -310,6 +310,8 @@ function createClient(opts = {}) {
|
|
|
310
310
|
getClosenessWithBuilderId: (args) => request("GET", "/closeness/with/{builderId}", { hasBody: false }, args),
|
|
311
311
|
},
|
|
312
312
|
"community": {
|
|
313
|
+
// GET /community/leaderboard — rank: public — GET /community/leaderboard
|
|
314
|
+
getCommunityLeaderboard: (args) => request("GET", "/community/leaderboard", { hasBody: false }, args),
|
|
313
315
|
// GET /community/search — rank: public — GET /community/search
|
|
314
316
|
getCommunitySearch: (args) => request("GET", "/community/search", { hasBody: false }, args),
|
|
315
317
|
},
|
|
@@ -50,6 +50,7 @@ export interface GetBuildersRosterResponse { builders: unknown; stale_hours: unk
|
|
|
50
50
|
export interface GetClosenessForMeResponse { closeness: unknown; count: unknown; returned: unknown }
|
|
51
51
|
export interface GetClosenessWeightsResponse { weights: unknown; window_days: unknown; note: unknown }
|
|
52
52
|
export interface GetClosenessWithBuilderIdResponse { closeness: unknown; why: unknown }
|
|
53
|
+
export interface GetCommunityLeaderboardResponse { window: unknown; since: unknown; discipline: unknown; count: unknown; results: unknown; page: unknown }
|
|
53
54
|
export interface GetCommunitySearchResponse { query: unknown; discipline: unknown; count: unknown; results: unknown; page: unknown }
|
|
54
55
|
export interface GetConnectionsDegreeHandleResponse { handle: unknown; degree: unknown; mutuals: unknown; mutual_count: unknown; truncated: unknown }
|
|
55
56
|
export interface GetConnectionsRequestsResponse { incoming: unknown; outgoing: unknown; incoming_count: unknown; outgoing_count: unknown }
|
|
@@ -700,6 +701,8 @@ export interface BongosClient {
|
|
|
700
701
|
getClosenessWithBuilderId(args?: RequestArgs): Promise<GetClosenessWithBuilderIdResponse>;
|
|
701
702
|
};
|
|
702
703
|
"community": {
|
|
704
|
+
/** GET /community/leaderboard — rank: public */
|
|
705
|
+
getCommunityLeaderboard(args?: RequestArgs): Promise<GetCommunityLeaderboardResponse>;
|
|
703
706
|
/** GET /community/search — rank: public */
|
|
704
707
|
getCommunitySearch(args?: RequestArgs): Promise<GetCommunitySearchResponse>;
|
|
705
708
|
};
|
|
@@ -307,6 +307,8 @@ export function createClient(opts = {}) {
|
|
|
307
307
|
getClosenessWithBuilderId: (args) => request("GET", "/closeness/with/{builderId}", { hasBody: false }, args),
|
|
308
308
|
},
|
|
309
309
|
"community": {
|
|
310
|
+
// GET /community/leaderboard — rank: public — GET /community/leaderboard
|
|
311
|
+
getCommunityLeaderboard: (args) => request("GET", "/community/leaderboard", { hasBody: false }, args),
|
|
310
312
|
// GET /community/search — rank: public — GET /community/search
|
|
311
313
|
getCommunitySearch: (args) => request("GET", "/community/search", { hasBody: false }, args),
|
|
312
314
|
},
|
package/docs/api/openapi.json
CHANGED
|
@@ -4436,6 +4436,34 @@
|
|
|
4436
4436
|
]
|
|
4437
4437
|
}
|
|
4438
4438
|
},
|
|
4439
|
+
"/community/leaderboard": {
|
|
4440
|
+
"get": {
|
|
4441
|
+
"operationId": "get_community_leaderboard",
|
|
4442
|
+
"tags": [
|
|
4443
|
+
"community"
|
|
4444
|
+
],
|
|
4445
|
+
"summary": "GET /community/leaderboard",
|
|
4446
|
+
"description": "the cross-project leaderboard (?window=7d|30d|365d|all, default all; ?discipline=; ?limit=&offset=). Eligibility is the privacy matrix's numbers predicate (active + public + stats shown); the recruiting opt-out does not apply. no-store: hide must beat the cache (ADR 0171 D5). Rollout note: until a builder's first changed report after snapshot history began, their whole lifetime total counts inside every window (spec D2's missing-baseline-is-zero rule) — expected on day one, and self-correcting.\n\n**Rank:** `public` — No authentication — any caller.",
|
|
4447
|
+
"x-rank": "public",
|
|
4448
|
+
"x-source": "modules/platform-identity/routes/community-leaderboard.js",
|
|
4449
|
+
"responses": {
|
|
4450
|
+
"200": {
|
|
4451
|
+
"description": "Success.",
|
|
4452
|
+
"content": {
|
|
4453
|
+
"application/json": {
|
|
4454
|
+
"schema": {
|
|
4455
|
+
"$ref": "#/components/schemas/GetCommunityLeaderboardResponse"
|
|
4456
|
+
}
|
|
4457
|
+
}
|
|
4458
|
+
}
|
|
4459
|
+
},
|
|
4460
|
+
"400": {
|
|
4461
|
+
"$ref": "#/components/responses/BadRequest"
|
|
4462
|
+
}
|
|
4463
|
+
},
|
|
4464
|
+
"security": []
|
|
4465
|
+
}
|
|
4466
|
+
},
|
|
4439
4467
|
"/community/search": {
|
|
4440
4468
|
"get": {
|
|
4441
4469
|
"operationId": "get_community_search",
|
|
@@ -12657,7 +12685,7 @@
|
|
|
12657
12685
|
"projects"
|
|
12658
12686
|
],
|
|
12659
12687
|
"summary": "POST /projects/invite",
|
|
12660
|
-
"description": "own-or-metic in effect: invite a builder into a project (ADR 0141 §5, task
|
|
12688
|
+
"description": "own-or-metic in effect: invite a builder into a project (ADR 0141 §5, task 1002115), called by a `project.curate` holder OR the project's OWN OWNER (task 1003580; the ownership proof is `provisioning_instances.owner_builder_id`, reached through a port — see invite-authz.js). The wizard's audience is any signed-in GitHub user, typically a xenos who used to get 403 on their own project. A caller who is neither gets the unchanged permission refusal, identical whether or not the project exists. Pre-seeds a 'pending' membership the invitee accepts from My Projects. V1 invites by github_login and requires the invitee to already have a platform account (they build on some project); inviting someone entirely new to the platform (GitHub-id resolution) is a follow-up.\n\n**Rank:** `metic+archon` — Metic or Archon rank (review/triage powers).\n\n**Permissions:** `project.curate` (all required).",
|
|
12661
12689
|
"x-rank": "metic+archon",
|
|
12662
12690
|
"x-source": "modules/platform-identity/routes/projects.js",
|
|
12663
12691
|
"x-permissions": [
|
|
@@ -19928,6 +19956,25 @@
|
|
|
19928
19956
|
"why"
|
|
19929
19957
|
]
|
|
19930
19958
|
},
|
|
19959
|
+
"GetCommunityLeaderboardResponse": {
|
|
19960
|
+
"type": "object",
|
|
19961
|
+
"properties": {
|
|
19962
|
+
"window": {},
|
|
19963
|
+
"since": {},
|
|
19964
|
+
"discipline": {},
|
|
19965
|
+
"count": {},
|
|
19966
|
+
"results": {},
|
|
19967
|
+
"page": {}
|
|
19968
|
+
},
|
|
19969
|
+
"required": [
|
|
19970
|
+
"window",
|
|
19971
|
+
"since",
|
|
19972
|
+
"discipline",
|
|
19973
|
+
"count",
|
|
19974
|
+
"results",
|
|
19975
|
+
"page"
|
|
19976
|
+
]
|
|
19977
|
+
},
|
|
19931
19978
|
"GetCommunitySearchResponse": {
|
|
19932
19979
|
"type": "object",
|
|
19933
19980
|
"properties": {
|
|
@@ -26572,9 +26619,9 @@
|
|
|
26572
26619
|
"description": "A required dependency/feature is not configured or is temporarily down."
|
|
26573
26620
|
}
|
|
26574
26621
|
},
|
|
26575
|
-
"x-endpoint-count":
|
|
26576
|
-
"x-schema-count":
|
|
26622
|
+
"x-endpoint-count": 420,
|
|
26623
|
+
"x-schema-count": 457,
|
|
26577
26624
|
"x-undocumented-bodies": 9,
|
|
26578
|
-
"x-response-schemas":
|
|
26625
|
+
"x-response-schemas": 312,
|
|
26579
26626
|
"x-generated-by": "scripts/gds/gen-api-docs.js"
|
|
26580
26627
|
}
|
package/docs/api-reference.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Bongos API reference
|
|
4
4
|
|
|
5
|
-
> **Generated from the live route files** — the route file is authoritative.
|
|
5
|
+
> **Generated from the live route files** — the route file is authoritative. 420 endpoints across 72 route files.
|
|
6
6
|
> Machine-readable spec: [`docs/api/openapi.json`](api/openapi.json) (OpenAPI 3.1). Rendered docs site: **`/docs`** (e.g. `cloudbongos.com/docs`).
|
|
7
7
|
|
|
8
8
|
Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust-boundary-server-enforced-permissions.md)): `public` < `any-builder` < `metic+archon` < `archon`.
|
|
@@ -188,10 +188,11 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
|
|
|
188
188
|
| GET | `/api/bongos/closeness/weights` | `any-builder` | — | the MODEL is not private, and publishing it is the whole point of the weights being data. |
|
|
189
189
|
| GET | `/api/bongos/closeness/with/:builderId` | `any-builder` | — | One pair — "why am I close to THEM", asked directly rather than by paging the graph. |
|
|
190
190
|
|
|
191
|
-
## `community` (
|
|
191
|
+
## `community` (2)
|
|
192
192
|
|
|
193
193
|
| Method | Path | Rank | Body | Description |
|
|
194
194
|
|---|---|---|---|---|
|
|
195
|
+
| GET | `/api/bongos/community/leaderboard` | `public` | — | the cross-project leaderboard (?window=7d\|30d\|365d\|all, default all; ?discipline=; ?limit=&offset=). |
|
|
195
196
|
| GET | `/api/bongos/community/search` | `public` | — | a name/discipline search under EXACTLY the public-profile visibility rules (D4): a hide_stats account is findable by name but drops out o… |
|
|
196
197
|
|
|
197
198
|
## `connections` (8)
|
|
@@ -516,7 +517,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
|
|
|
516
517
|
| PATCH | `/api/bongos/projects/:id/status` | `metic+archon` | `status` | THE TAKEDOWN LEVER (R08, task 1002327; ADR 0252 §5.1). |
|
|
517
518
|
| POST | `/api/bongos/projects/:projectId/specialities` | `any-builder` | `name`, `discipline`, `summary`, `contract_md`, `visibility`, `sellable` | POST /projects/:projectId/specialities — author one OWNED BY A PROJECT. |
|
|
518
519
|
| GET | `/api/bongos/projects/featured` | `public` | — | the public map of projects; no auth by design. |
|
|
519
|
-
| POST | `/api/bongos/projects/invite` | `metic+archon` | `client_id`, `github_login` | own-or-metic in effect: invite a builder into a project (ADR 0141 §5, task
|
|
520
|
+
| POST | `/api/bongos/projects/invite` | `metic+archon` | `client_id`, `github_login` | own-or-metic in effect: invite a builder into a project (ADR 0141 §5, task 1002115), called by a `project.curate` holder OR the project's… |
|
|
520
521
|
|
|
521
522
|
## `provisioning` (31)
|
|
522
523
|
|
package/docs/copy-inventory.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
> Deterministic on a given tree — regenerate and commit rather than hand-editing.
|
|
5
5
|
> Machine-readable twin: [`copy-registry.json`](copy-registry.json).
|
|
6
6
|
|
|
7
|
-
**2040 strings** across 3 surfaces ·
|
|
7
|
+
**2040 strings** across 3 surfaces · 1742 distinct pieces of copy · 2040 certain, 0 heuristic · 211 shown in more than one place.
|
|
8
8
|
|
|
9
9
|
## Surfaces
|
|
10
10
|
|
|
@@ -76,7 +76,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
76
76
|
| `064c72453555` | 3x | goals · | modules/hall-ui/public/roadmap.js:218, modules/hall-ui/public/sky-interaction.js:39, modules/hall-ui/public/sky-interaction.js:124 |
|
|
77
77
|
| `cc5106af4b35` | 3x | {…} of {…} criteria satisfied | modules/hall-ui/public/goals-lib.js:32, modules/hall-ui/public/goals-render.js:705, modules/hall-ui/public/goals.js:45 |
|
|
78
78
|
| `7926e30955d2` | 3x | ← Back to goal | modules/hall-ui/public/goals.html:199, modules/hall-ui/public/goals.html:210, modules/hall-ui/public/goals.html:222 |
|
|
79
|
-
| … | |
|
|
79
|
+
| … | | _171 more in the JSON registry_ | |
|
|
80
80
|
|
|
81
81
|
## `builders-hall` — 1547 strings
|
|
82
82
|
|
|
@@ -1062,7 +1062,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1062
1062
|
| `19b23f2cc45b` | certain | The grading panel could not run when this task was shipped, so no quality signal was recorded — an outage, not | `modules/hall-ui/public/task.js:413` |
|
|
1063
1063
|
| `027e9420daa2` | certain | The headline lands, but the sub-line reads like a brochure. | `modules/hall-ui/public/studio.js:162` |
|
|
1064
1064
|
| `9f45c63c9697` | certain | The kinds of work you prefer. Task suggestions lean toward your choices — pick one, several, or none. | `modules/hall-ui/public/settings.html:127` |
|
|
1065
|
-
| `
|
|
1065
|
+
| `814eb6889339` | certain | The ledger | `modules/hall-ui/public/goal-map.html:99` |
|
|
1066
1066
|
| `dbbcedba5f3c` | certain | The list | `modules/hall-ui/public/thinking.html:98` |
|
|
1067
1067
|
| `a02d386fbc13` | certain | The map | `modules/hall-ui/public/atlas.html:45` |
|
|
1068
1068
|
| `e1ce3766c6fe` | certain | The map has not been generated on this deploy yet. | `modules/hall-ui/public/atlas.js:416` |
|
package/docs/copy-registry.json
CHANGED
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
"goal": 1000074,
|
|
5
5
|
"counts": {
|
|
6
6
|
"strings": 2040,
|
|
7
|
-
"unique_ids":
|
|
7
|
+
"unique_ids": 1742,
|
|
8
8
|
"certain": 2040,
|
|
9
9
|
"heuristic": 0,
|
|
10
|
-
"duplicate_ids":
|
|
10
|
+
"duplicate_ids": 211
|
|
11
11
|
},
|
|
12
12
|
"surfaces": {
|
|
13
13
|
"builders-hall": {
|
|
@@ -1665,16 +1665,6 @@
|
|
|
1665
1665
|
"modules/hall-ui/public/thinking.html:123"
|
|
1666
1666
|
]
|
|
1667
1667
|
},
|
|
1668
|
-
{
|
|
1669
|
-
"id": "dbbcedba5f3c",
|
|
1670
|
-
"surface": "builders-hall",
|
|
1671
|
-
"text": "The list",
|
|
1672
|
-
"occurrences": 2,
|
|
1673
|
-
"at": [
|
|
1674
|
-
"modules/hall-ui/public/goal-map.html:99",
|
|
1675
|
-
"modules/hall-ui/public/thinking.html:98"
|
|
1676
|
-
]
|
|
1677
|
-
},
|
|
1678
1668
|
{
|
|
1679
1669
|
"id": "7f03838faf0c",
|
|
1680
1670
|
"surface": "builders-hall",
|
|
@@ -11068,9 +11058,9 @@
|
|
|
11068
11058
|
"confidence": "certain"
|
|
11069
11059
|
},
|
|
11070
11060
|
{
|
|
11071
|
-
"id": "
|
|
11061
|
+
"id": "814eb6889339",
|
|
11072
11062
|
"surface": "builders-hall",
|
|
11073
|
-
"text": "The
|
|
11063
|
+
"text": "The ledger",
|
|
11074
11064
|
"file": "modules/hall-ui/public/goal-map.html",
|
|
11075
11065
|
"line": 99,
|
|
11076
11066
|
"origin": "html-attr:aria-label",
|
|
@@ -2529,5 +2529,7 @@ is load-bearing: the script throws rather than guess if it is missing, and
|
|
|
2529
2529
|
landed since 1.19.1023 with no explicit bump. run 36183325302. (task 1002620)
|
|
2530
2530
|
1.19.1025 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
2531
2531
|
landed since 1.19.1024 with no explicit bump. run 36185386905. (task 1002620)
|
|
2532
|
+
1.19.1026 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
2533
|
+
landed since 1.19.1025 with no explicit bump. run 36186644421. (task 1002620)
|
|
2532
2534
|
---------------------------------------------------------------------------
|
|
2533
2535
|
```
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
<div class="card glass" id="card" role="tooltip" aria-hidden="true"></div>
|
|
97
97
|
<div class="menu glass" id="menu" hidden role="menu" aria-label="Chart the routes"></div>
|
|
98
98
|
|
|
99
|
-
<aside class="room" id="room" hidden aria-label="The
|
|
99
|
+
<aside class="room" id="room" hidden aria-label="The ledger">
|
|
100
100
|
<div class="head"><h2 id="roomTitle">the ledger</h2><span class="lbl" id="roomCount"></span></div>
|
|
101
101
|
<div class="filters" id="filters" role="group" aria-label="Filter"></div>
|
|
102
102
|
<div class="rows" id="rows"></div>
|