@bongos/core 1.21.124 → 1.21.126
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 +91 -41
- package/bin/bongos.js +9 -0
- package/docs/api/openapi.json +4 -4
- package/docs/copy-inventory.md +128 -126
- package/docs/copy-registry.json +188 -170
- package/docs/module-api-changelog.md +4 -0
- package/docs/page-inventory.json +2 -1
- package/docs/page-readings.json +152 -143
- package/modules/hall-ui/public/goal-forest-lib.js +36 -0
- package/modules/hall-ui/public/goal-forest-render.js +50 -10
- package/modules/hall-ui/public/goals-page.js +19 -22
- package/modules/hall-ui/public/goals-render.js +6 -16
- package/modules/hall-ui/public/goals.css +13 -4
- package/modules/hall-ui/public/goals.html +22 -24
- package/modules/hall-ui/public/goals.states.json +19 -1
- package/modules/hall-ui/records/goal-dependency-forest.md +4 -3
- package/modules/onboarding/howto-guide.js +259 -0
- package/modules/platform-identity/invite-authz.js +1 -1
- package/modules/provisioning/catalog-bridge.js +1 -1
- package/modules/provisioning/provisioning.js +1 -1
- package/modules/provisioning/route-helpers.js +50 -0
- package/modules/provisioning/routes/disconnect.js +6 -5
- package/modules/provisioning/routes/env-manifest.js +11 -27
- package/modules/provisioning/routes/provisioning.js +58 -75
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/release-notes.json +24 -0
- package/scripts/gds/core-pin-sync.js +233 -0
- package/scripts/gds/module-assess-tests.js +40 -11
- package/scripts/gds/module-assess-version.js +10 -2
- package/scripts/gds/module-test-runner/README.md +44 -0
- package/scripts/gds/module-test-runner/module-tests.yml +87 -0
- package/scripts/gds/module-test-runner.js +358 -0
- package/src/module-api.js +1 -1
- package/tests/core_pin_sync.mjs +237 -0
- package/tests/goal_forest_lib.mjs +28 -0
- package/tests/goal_forest_page.mjs +106 -11
- package/tests/howto_guide.mjs +96 -0
- package/tests/module_assess_price_parity.mjs +2 -2
- package/tests/module_assess_score.mjs +13 -3
- package/tests/module_test_runner.mjs +294 -0
- package/tests/project_catalog_routes.mjs +1 -1
- package/tests/provisioning_module_selection.mjs +1 -1
- package/tests/provisioning_project_owner_gate.mjs +271 -0
|
@@ -3085,5 +3085,9 @@ is load-bearing: the script throws rather than guess if it is missing, and
|
|
|
3085
3085
|
landed since 1.21.122 with no explicit bump. run 38624070870. (task 1002620)
|
|
3086
3086
|
1.21.124 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
3087
3087
|
landed since 1.21.123 with no explicit bump. run 38626749089. (task 1002620)
|
|
3088
|
+
1.21.125 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
3089
|
+
landed since 1.21.124 with no explicit bump. run 38759002066. (task 1002620)
|
|
3090
|
+
1.21.126 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
3091
|
+
landed since 1.21.125 with no explicit bump. run 38761052564. (task 1002620)
|
|
3088
3092
|
---------------------------------------------------------------------------
|
|
3089
3093
|
```
|
package/docs/page-inventory.json
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"pages": 46,
|
|
14
14
|
"surfaces": 3,
|
|
15
15
|
"with_states": 39,
|
|
16
|
-
"states":
|
|
16
|
+
"states": 321
|
|
17
17
|
},
|
|
18
18
|
"surfaces": [
|
|
19
19
|
{
|
|
@@ -518,6 +518,7 @@
|
|
|
518
518
|
"filters",
|
|
519
519
|
"cards",
|
|
520
520
|
"detail",
|
|
521
|
+
"dependencies",
|
|
521
522
|
"out",
|
|
522
523
|
"uat",
|
|
523
524
|
"uat-panel"
|
package/docs/page-readings.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"adr": "0341 D3",
|
|
6
6
|
"reread": "node scripts/gds/page-reader.js --stale",
|
|
7
7
|
"how": ["Generated by node scripts/gds/page-reader.js (BV2.TW04, task 1004315; ADR 0341 D3). Do not hand-edit.","One entry per page of docs/page-inventory.json. Lines are in page order: the default state first, and a line only another state shows sits where that state shows it, with its state named.","placement: placed = a docs/copy-registry.json row renders it (file, line, string_id); shared = shell text every page of the surface carries (top bar, sidebar, footer), with its row when the registry has one; unplaced = the registry cannot place it (a rewrite becomes an engineer task, ADR 0341 D4).","text keeps {…} where the registry row has a hole, or where a value the page read from its API was filled in. A string that is only such data is counted under omitted.data, not listed.","reading_hash is over the non-shared lines (key, section, text); files_hash is over the page's inventory files. --check compares files_hash only and never opens a browser.","Rendered through the hall-preview harness (hall) and the ui-design kit stub (landing, status), at 1280x800 with the clock pinned, so a reading is the fixture world's page."],
|
|
8
|
-
"counts": {"pages":46,"lines":
|
|
8
|
+
"counts": {"pages":46,"lines":5545,"placed":1695,"shared":398,"unplaced":3452,"omitted_data":3574},
|
|
9
9
|
"pages": [
|
|
10
10
|
{
|
|
11
11
|
"id": "builders:atlas",
|
|
@@ -1200,11 +1200,11 @@
|
|
|
1200
1200
|
"id": "builders:goals",
|
|
1201
1201
|
"surface": "builders",
|
|
1202
1202
|
"title": "Goals",
|
|
1203
|
-
"states_read": ["list","filters","cards","detail","out","uat","uat-panel"],
|
|
1204
|
-
"files_hash": "
|
|
1205
|
-
"reading_hash": "
|
|
1206
|
-
"counts": {"lines":
|
|
1207
|
-
"omitted": {"data":
|
|
1203
|
+
"states_read": ["list","filters","cards","detail","dependencies","out","uat","uat-panel"],
|
|
1204
|
+
"files_hash": "21afef3818c14ce5",
|
|
1205
|
+
"reading_hash": "3f72f589e565cc1a",
|
|
1206
|
+
"counts": {"lines":155,"placed":51,"shared":8,"unplaced":96},
|
|
1207
|
+
"omitted": {"data":268},
|
|
1208
1208
|
"notes": ["filters: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","cards: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","uat-panel: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood"],
|
|
1209
1209
|
"lines": [
|
|
1210
1210
|
{"key":"L0001","section":"skip link","text":"Skip to content","placement":"shared","file":"modules/hall-ui/public/shell.js","line":860,"string_id":"87cee78ca134"},
|
|
@@ -1216,143 +1216,152 @@
|
|
|
1216
1216
|
{"key":"L0007","section":"top bar","text":"Ideating","placement":"shared"},
|
|
1217
1217
|
{"key":"L0008","section":"Goals","text":"Goals","placement":"unplaced"},
|
|
1218
1218
|
{"key":"L0009","section":"Goals","text":"Goal {…}","placement":"placed","file":"modules/hall-ui/public/gate.js","line":360,"string_id":"ec88b946ad16","state":"uat","occurrences":2},
|
|
1219
|
-
{"key":"L0010","section":"Goals","text":"{…}
|
|
1220
|
-
{"key":"L0011","section":"Goals","text":"
|
|
1221
|
-
{"key":"L0012","section":"Goals","text":"
|
|
1222
|
-
{"key":"L0013","section":"
|
|
1223
|
-
{"key":"L0014","section":"Completion","text":"
|
|
1224
|
-
{"key":"L0015","section":"Completion","text":"
|
|
1225
|
-
{"key":"L0016","section":"Completion","text":"{…}
|
|
1226
|
-
{"key":"L0017","section":"Completion","text":"{…}
|
|
1227
|
-
{"key":"L0018","section":"Completion","text":"
|
|
1228
|
-
{"key":"L0019","section":"Completion","text":"
|
|
1229
|
-
{"key":"L0020","section":"Completion","text":"
|
|
1230
|
-
{"key":"L0021","section":"Completion","text":"
|
|
1231
|
-
{"key":"L0022","section":"Completion","text":"
|
|
1232
|
-
{"key":"L0023","section":"Completion","text":"
|
|
1233
|
-
{"key":"L0024","section":"Completion","text":"
|
|
1234
|
-
{"key":"L0025","section":"Completion","text":"
|
|
1235
|
-
{"key":"L0026","section":"Completion","text":"
|
|
1236
|
-
{"key":"L0027","section":"Completion","text":"
|
|
1237
|
-
{"key":"L0028","section":"
|
|
1238
|
-
{"key":"L0029","section":"
|
|
1239
|
-
{"key":"L0030","section":"
|
|
1240
|
-
{"key":"L0031","section":"
|
|
1241
|
-
{"key":"L0032","section":"
|
|
1242
|
-
{"key":"L0033","section":"
|
|
1243
|
-
{"key":"L0034","section":"
|
|
1244
|
-
{"key":"L0035","section":"
|
|
1245
|
-
{"key":"L0036","section":"
|
|
1246
|
-
{"key":"L0037","section":"
|
|
1247
|
-
{"key":"L0038","section":"
|
|
1248
|
-
{"key":"L0039","section":"
|
|
1249
|
-
{"key":"L0040","section":"
|
|
1250
|
-
{"key":"L0041","section":"
|
|
1251
|
-
{"key":"L0042","section":"Task {…}","text":"
|
|
1252
|
-
{"key":"L0043","section":"Task {…}","text":"
|
|
1253
|
-
{"key":"L0044","section":"Task {…}","text":"
|
|
1254
|
-
{"key":"L0045","section":"Task {…}","text":"
|
|
1255
|
-
{"key":"L0046","section":"Task {…}","text":"
|
|
1256
|
-
{"key":"L0047","section":"Task {…}","text":"
|
|
1257
|
-
{"key":"L0048","section":"Task {…}","text":"
|
|
1258
|
-
{"key":"L0049","section":"Task {…}","text":"
|
|
1259
|
-
{"key":"L0050","section":"Task {…}","text":"
|
|
1260
|
-
{"key":"L0051","section":"Task {…}","text":"
|
|
1261
|
-
{"key":"L0052","section":"Task {…}","text":"
|
|
1262
|
-
{"key":"L0053","section":"Task {…}","text":"
|
|
1263
|
-
{"key":"L0054","section":"Task {…}","text":"
|
|
1264
|
-
{"key":"L0055","section":"
|
|
1265
|
-
{"key":"L0056","section":"
|
|
1266
|
-
{"key":"L0057","section":"
|
|
1267
|
-
{"key":"L0058","section":"
|
|
1268
|
-
{"key":"L0059","section":"
|
|
1269
|
-
{"key":"L0060","section":"
|
|
1270
|
-
{"key":"L0061","section":"
|
|
1271
|
-
{"key":"L0062","section":"
|
|
1272
|
-
{"key":"L0063","section":"
|
|
1273
|
-
{"key":"L0064","section":"
|
|
1274
|
-
{"key":"L0065","section":"
|
|
1275
|
-
{"key":"L0066","section":"
|
|
1276
|
-
{"key":"L0067","section":"
|
|
1277
|
-
{"key":"L0068","section":"
|
|
1278
|
-
{"key":"L0069","section":"
|
|
1279
|
-
{"key":"L0070","section":"
|
|
1280
|
-
{"key":"L0071","section":"
|
|
1281
|
-
{"key":"L0072","section":"
|
|
1282
|
-
{"key":"L0073","section":"
|
|
1283
|
-
{"key":"L0074","section":"Tasks","text":"
|
|
1284
|
-
{"key":"L0075","section":"Tasks","text":"
|
|
1285
|
-
{"key":"L0076","section":"Tasks","text":"
|
|
1286
|
-
{"key":"L0077","section":"Tasks","text":"
|
|
1287
|
-
{"key":"L0078","section":"Tasks","text":"
|
|
1288
|
-
{"key":"L0079","section":"Tasks","text":"
|
|
1289
|
-
{"key":"L0080","section":"Tasks","text":"
|
|
1290
|
-
{"key":"L0081","section":"Tasks","text":"
|
|
1291
|
-
{"key":"L0082","section":"Tasks","text":"
|
|
1292
|
-
{"key":"L0083","section":"Tasks","text":"
|
|
1293
|
-
{"key":"L0084","section":"Tasks","text":"
|
|
1294
|
-
{"key":"L0085","section":"Tasks","text":"
|
|
1295
|
-
{"key":"L0086","section":"Tasks","text":"
|
|
1296
|
-
{"key":"L0087","section":"Tasks","text":"
|
|
1297
|
-
{"key":"L0088","section":"Tasks","text":"
|
|
1298
|
-
{"key":"L0089","section":"Tasks","text":"
|
|
1299
|
-
{"key":"L0090","section":"Tasks","text":"
|
|
1300
|
-
{"key":"L0091","section":"Tasks","text":"
|
|
1301
|
-
{"key":"L0092","section":"Tasks","text":"
|
|
1302
|
-
{"key":"L0093","section":"Tasks","text":"
|
|
1303
|
-
{"key":"L0094","section":"Tasks","text":"
|
|
1304
|
-
{"key":"L0095","section":"Tasks","text":"
|
|
1305
|
-
{"key":"L0096","section":"Tasks","text":"
|
|
1306
|
-
{"key":"L0097","section":"Tasks","text":"
|
|
1307
|
-
{"key":"L0098","section":"Tasks","text":"
|
|
1308
|
-
{"key":"L0099","section":"Tasks","text":"0.
|
|
1309
|
-
{"key":"L0100","section":"Tasks","text":"
|
|
1310
|
-
{"key":"L0101","section":"Tasks","text":"
|
|
1311
|
-
{"key":"L0102","section":"Tasks","text":"
|
|
1312
|
-
{"key":"L0103","section":"Tasks","text":"
|
|
1313
|
-
{"key":"L0104","section":"Tasks","text":"
|
|
1314
|
-
{"key":"L0105","section":"
|
|
1315
|
-
{"key":"L0106","section":"
|
|
1316
|
-
{"key":"L0107","section":"
|
|
1317
|
-
{"key":"L0108","section":"
|
|
1318
|
-
{"key":"L0109","section":"
|
|
1319
|
-
{"key":"L0110","section":"
|
|
1320
|
-
{"key":"L0111","section":"
|
|
1321
|
-
{"key":"L0112","section":"
|
|
1322
|
-
{"key":"L0113","section":"
|
|
1323
|
-
{"key":"L0114","section":"Goals","text":"
|
|
1324
|
-
{"key":"L0115","section":"Goals","text":"
|
|
1325
|
-
{"key":"L0116","section":"Goals","text":"
|
|
1326
|
-
{"key":"L0117","section":"Goals","text":"
|
|
1327
|
-
{"key":"L0118","section":"Goals","text":"
|
|
1328
|
-
{"key":"L0119","section":"Goals","text":"
|
|
1329
|
-
{"key":"L0120","section":"Goals","text":"
|
|
1330
|
-
{"key":"L0121","section":"Goals","text":"
|
|
1331
|
-
{"key":"L0122","section":"Goals","text":"
|
|
1332
|
-
{"key":"L0123","section":"Goals","text":"
|
|
1333
|
-
{"key":"L0124","section":"Goals","text":"
|
|
1334
|
-
{"key":"L0125","section":"Goals","text":"
|
|
1335
|
-
{"key":"L0126","section":"Goals","text":"
|
|
1336
|
-
{"key":"L0127","section":"Goals","text":"
|
|
1337
|
-
{"key":"L0128","section":"Goals","text":"
|
|
1338
|
-
{"key":"L0129","section":"Goals","text":"
|
|
1339
|
-
{"key":"L0130","section":"Goals","text":"
|
|
1340
|
-
{"key":"L0131","section":"Goals","text":"
|
|
1341
|
-
{"key":"L0132","section":"Goals","text":"
|
|
1342
|
-
{"key":"L0133","section":"Goals","text":"
|
|
1343
|
-
{"key":"L0134","section":"Goals","text":"
|
|
1344
|
-
{"key":"L0135","section":"Goals","text":"
|
|
1345
|
-
{"key":"L0136","section":"Goals","text":"
|
|
1346
|
-
{"key":"L0137","section":"Goals","text":"
|
|
1347
|
-
{"key":"L0138","section":"Goals","text":"
|
|
1348
|
-
{"key":"L0139","section":"
|
|
1349
|
-
{"key":"L0140","section":"
|
|
1350
|
-
{"key":"L0141","section":"
|
|
1351
|
-
{"key":"L0142","section":"
|
|
1352
|
-
{"key":"L0143","section":"
|
|
1353
|
-
{"key":"L0144","section":"
|
|
1354
|
-
{"key":"L0145","section":"
|
|
1355
|
-
{"key":"L0146","section":"
|
|
1219
|
+
{"key":"L0010","section":"Goals","text":"{…} file{…}","placement":"placed","file":"modules/hall-ui/public/gate.js","line":151,"string_id":"3efa67dc6e07","state":"dependencies"},
|
|
1220
|
+
{"key":"L0011","section":"Goals","text":"{…} and {…}","placement":"placed","file":"modules/hall-ui/public/profile-nudge.js","line":77,"string_id":"56b00d773232","occurrences":6},
|
|
1221
|
+
{"key":"L0012","section":"Goals","text":"See which goals wait on each other →","placement":"placed","file":"modules/hall-ui/public/goals.html","line":39,"string_id":"292761c89fae"},
|
|
1222
|
+
{"key":"L0013","section":"Goals","text":"← Back to goal","placement":"placed","file":"modules/hall-ui/public/goals.html","line":187,"string_id":"7926e30955d2","state":"dependencies"},
|
|
1223
|
+
{"key":"L0014","section":"Completion","text":"Completion","placement":"unplaced","state":"uat"},
|
|
1224
|
+
{"key":"L0015","section":"Completion","text":"Every done-when criterion for this goal, with its full detail.","placement":"placed","file":"modules/hall-ui/public/goals.html","line":218,"string_id":"2ae1eb35611e","state":"uat"},
|
|
1225
|
+
{"key":"L0016","section":"Completion","text":"{…} of {…} criteria satisfied","placement":"placed","file":"modules/hall-ui/public/goals-lib.js","line":32,"string_id":"cc5106af4b35","state":"uat"},
|
|
1226
|
+
{"key":"L0017","section":"Completion","text":"{…} and {…}","placement":"placed","file":"modules/hall-ui/public/profile-nudge.js","line":77,"string_id":"56b00d773232","state":"uat","occurrences":2},
|
|
1227
|
+
{"key":"L0018","section":"Completion","text":"{…} project{…}","placement":"placed","file":"modules/hall-ui/public/fleet.js","line":39,"string_id":"771bef3d31b5","state":"uat","occurrences":2},
|
|
1228
|
+
{"key":"L0019","section":"Completion","text":"Awaiting UAT","placement":"placed","file":"modules/hall-ui/public/criterion-uat-ui.js","line":77,"string_id":"c78685da0e42","state":"uat","occurrences":2},
|
|
1229
|
+
{"key":"L0020","section":"Completion","text":"on the live site","placement":"unplaced","state":"uat"},
|
|
1230
|
+
{"key":"L0021","section":"Completion","text":"Test and sign off","placement":"placed","file":"modules/hall-ui/public/criterion-uat-ui.js","line":76,"string_id":"8584832c348f","state":"uat","occurrences":2},
|
|
1231
|
+
{"key":"L0022","section":"Completion","text":"Backend-only","placement":"unplaced","state":"uat"},
|
|
1232
|
+
{"key":"L0023","section":"Completion","text":"Mark backend-only","placement":"placed","file":"modules/hall-ui/public/criterion-uat-ui.js","line":85,"string_id":"525e085a6770","state":"uat"},
|
|
1233
|
+
{"key":"L0024","section":"Completion","text":"Metic-and-above builders vote on Full Ideas in the Board Room","placement":"unplaced","state":"uat"},
|
|
1234
|
+
{"key":"L0025","section":"Completion","text":"Satisfied (UAT)","placement":"unplaced","state":"uat"},
|
|
1235
|
+
{"key":"L0026","section":"Completion","text":"See the UAT","placement":"placed","file":"modules/hall-ui/public/criterion-uat-ui.js","line":80,"string_id":"00473a773fd7","state":"uat"},
|
|
1236
|
+
{"key":"L0027","section":"Completion","text":"The constitution in force always matches the last ratified amendment","placement":"unplaced","state":"uat"},
|
|
1237
|
+
{"key":"L0028","section":"Completion","text":"Closed before UAT","placement":"unplaced","state":"uat"},
|
|
1238
|
+
{"key":"L0029","section":"footer","text":"Sign out","placement":"shared","file":"modules/hall-ui/public/shell.js","line":520,"string_id":"1883ad7f07fc","state":"uat","occurrences":4},
|
|
1239
|
+
{"key":"L0030","section":"Completion","text":"Builders hall · this session","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":810,"string_id":"fd1903586e8e","state":"uat"},
|
|
1240
|
+
{"key":"L0031","section":"Task {…}","text":"Task dependencies","placement":"placed","file":"modules/hall-ui/public/goals.html","line":189,"string_id":"a0f384b022fd","state":"dependencies"},
|
|
1241
|
+
{"key":"L0032","section":"Task {…}","text":"{…} and {…}","placement":"placed","file":"modules/hall-ui/public/profile-nudge.js","line":77,"string_id":"56b00d773232","state":"dependencies"},
|
|
1242
|
+
{"key":"L0033","section":"Task {…}","text":"#1165 Blocker-solve","placement":"unplaced","state":"dependencies"},
|
|
1243
|
+
{"key":"L0034","section":"Task {…}","text":"{…}: /{…}-s…","placement":"unplaced","state":"dependencies"},
|
|
1244
|
+
{"key":"L0035","section":"Task {…}","text":"P2 · {…}","placement":"unplaced","state":"dependencies","occurrences":4},
|
|
1245
|
+
{"key":"L0036","section":"Task {…}","text":"#2170 Work {…}","placement":"unplaced","state":"dependencies"},
|
|
1246
|
+
{"key":"L0037","section":"Task {…}","text":"redesign: tabs, filter…","placement":"unplaced","state":"dependencies"},
|
|
1247
|
+
{"key":"L0038","section":"Task {…}","text":"#594 V4.R29 — Status","placement":"unplaced","state":"dependencies"},
|
|
1248
|
+
{"key":"L0039","section":"Task {…}","text":"surface v2: {…} re…","placement":"unplaced","state":"dependencies"},
|
|
1249
|
+
{"key":"L0040","section":"Task {…}","text":"P3 · {…}","placement":"unplaced","state":"dependencies"},
|
|
1250
|
+
{"key":"L0041","section":"Task {…}","text":"#2171 Goals page:","placement":"unplaced","state":"dependencies"},
|
|
1251
|
+
{"key":"L0042","section":"Task {…}","text":"converge onto the kit…","placement":"unplaced","state":"dependencies"},
|
|
1252
|
+
{"key":"L0043","section":"Task {…}","text":"#2172 Settings","placement":"unplaced","state":"dependencies"},
|
|
1253
|
+
{"key":"L0044","section":"Task {…}","text":"regroup: 6 groups, st…","placement":"unplaced","state":"dependencies"},
|
|
1254
|
+
{"key":"L0045","section":"Task {…}","text":"Task","placement":"placed","file":"modules/hall-ui/public/task.js","line":475,"string_id":"eff70e59d12e","state":"dependencies"},
|
|
1255
|
+
{"key":"L0046","section":"Task {…}","text":"Status","placement":"unplaced","state":"dependencies"},
|
|
1256
|
+
{"key":"L0047","section":"Task {…}","text":"Priority","placement":"unplaced","state":"dependencies"},
|
|
1257
|
+
{"key":"L0048","section":"Task {…}","text":"Waits on","placement":"placed","file":"modules/hall-ui/public/goal-forest-render.js","line":186,"string_id":"8e4f0179e1d3","state":"dependencies"},
|
|
1258
|
+
{"key":"L0049","section":"Task {…}","text":"Needed by","placement":"placed","file":"modules/hall-ui/public/goal-forest-render.js","line":186,"string_id":"83197947ee8d","state":"dependencies"},
|
|
1259
|
+
{"key":"L0050","section":"Task {…}","text":"Chain","placement":"unplaced","state":"dependencies"},
|
|
1260
|
+
{"key":"L0051","section":"Task {…}","text":"P2","placement":"unplaced","state":"dependencies","occurrences":4},
|
|
1261
|
+
{"key":"L0052","section":"Task {…}","text":"Chain 1 · 3 tasks","placement":"unplaced","state":"dependencies","occurrences":3},
|
|
1262
|
+
{"key":"L0053","section":"Task {…}","text":"P3","placement":"unplaced","state":"dependencies"},
|
|
1263
|
+
{"key":"L0054","section":"Task {…}","text":"Chain 2 · 2 tasks","placement":"unplaced","state":"dependencies","occurrences":2},
|
|
1264
|
+
{"key":"L0055","section":"Conflicts12","text":"Conflicts","placement":"unplaced","state":"dependencies"},
|
|
1265
|
+
{"key":"L0056","section":"Conflicts12","text":"Open tasks whose declared files overlap — sequence these before two builders collide.","placement":"placed","file":"modules/hall-ui/public/goals.html","line":195,"string_id":"99c630009152","state":"dependencies"},
|
|
1266
|
+
{"key":"L0057","section":"Conflicts12","text":"Builders hall · this session","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":810,"string_id":"fd1903586e8e","state":"dependencies"},
|
|
1267
|
+
{"key":"L0058","section":"Goals","text":"← All goals","placement":"placed","file":"modules/hall-ui/public/goals.html","line":75,"string_id":"d4b84b7fbdeb","state":"detail"},
|
|
1268
|
+
{"key":"L0059","section":"#1000081 {…}","text":"Claude's notes on this goal","placement":"placed","file":"modules/hall-ui/public/goals.html","line":86,"string_id":"5b3b75ee0596","state":"detail"},
|
|
1269
|
+
{"key":"L0060","section":"Completion3","text":"Completion","placement":"unplaced","state":"detail"},
|
|
1270
|
+
{"key":"L0061","section":"Completion3","text":"{…} of {…} criteria satisfied","placement":"placed","file":"modules/hall-ui/public/goals-lib.js","line":32,"string_id":"cc5106af4b35","state":"detail"},
|
|
1271
|
+
{"key":"L0062","section":"Completion3","text":"Goal {…}","placement":"placed","file":"modules/hall-ui/public/gate.js","line":360,"string_id":"ec88b946ad16","state":"detail"},
|
|
1272
|
+
{"key":"L0063","section":"Completion3","text":"{…} — harness fixture {…}","placement":"unplaced","state":"detail","occurrences":3},
|
|
1273
|
+
{"key":"L0064","section":"Members0","text":"Members","placement":"unplaced","state":"detail"},
|
|
1274
|
+
{"key":"L0065","section":"Members0","text":"No {…} assigned yet — an Archon can appoint one.","placement":"unplaced","state":"detail"},
|
|
1275
|
+
{"key":"L0066","section":"Members0","text":"No members yet — be the first to join.","placement":"unplaced","state":"detail"},
|
|
1276
|
+
{"key":"L0067","section":"Dependencies5","text":"Dependencies","placement":"unplaced","state":"detail"},
|
|
1277
|
+
{"key":"L0068","section":"Dependencies5","text":"5 tasks linked by dependencies, in 2 chains.","placement":"unplaced","state":"detail"},
|
|
1278
|
+
{"key":"L0069","section":"Dependencies5","text":"Ship these first","placement":"placed","file":"modules/hall-ui/public/goal-forest-render.js","line":125,"string_id":"48a40cce6763","state":"detail"},
|
|
1279
|
+
{"key":"L0070","section":"Dependencies5","text":"unblocks 2","placement":"unplaced","state":"detail"},
|
|
1280
|
+
{"key":"L0071","section":"Dependencies5","text":"unblocks 1","placement":"unplaced","state":"detail"},
|
|
1281
|
+
{"key":"L0072","section":"Dependencies5","text":"{…} file{…}","placement":"placed","file":"modules/hall-ui/public/gate.js","line":151,"string_id":"3efa67dc6e07","state":"detail"},
|
|
1282
|
+
{"key":"L0073","section":"Dependencies5","text":"See the full picture →","placement":"placed","file":"modules/hall-ui/public/goal-forest-render.js","line":138,"string_id":"9276193a0e41","state":"detail"},
|
|
1283
|
+
{"key":"L0074","section":"Tasks","text":"Tasks","placement":"unplaced","state":"detail"},
|
|
1284
|
+
{"key":"L0075","section":"Tasks","text":"To do","placement":"unplaced","state":"detail"},
|
|
1285
|
+
{"key":"L0076","section":"Tasks","text":"Completed","placement":"unplaced","state":"detail"},
|
|
1286
|
+
{"key":"L0077","section":"Tasks","text":"Search","placement":"unplaced","state":"detail"},
|
|
1287
|
+
{"key":"L0078","section":"Tasks","text":"task #{…}","placement":"placed","file":"modules/hall-ui/public/copy-desk.js","line":105,"string_id":"a6e803a31a4d","attr":"placeholder","state":"detail"},
|
|
1288
|
+
{"key":"L0079","section":"Tasks","text":"Sort","placement":"unplaced","state":"detail"},
|
|
1289
|
+
{"key":"L0080","section":"Tasks","text":"{…} / minute (high → low)","placement":"unplaced","state":"detail"},
|
|
1290
|
+
{"key":"L0081","section":"Tasks","text":"{…} (high → low)","placement":"unplaced","state":"detail"},
|
|
1291
|
+
{"key":"L0082","section":"Tasks","text":"minutes (low → high)","placement":"unplaced","state":"detail"},
|
|
1292
|
+
{"key":"L0083","section":"Tasks","text":"priority (P0 first)","placement":"unplaced","state":"detail"},
|
|
1293
|
+
{"key":"L0084","section":"Tasks","text":"task {…}","placement":"placed","file":"modules/hall-ui/public/gate.js","line":157,"string_id":"4d8ee7d68974","state":"detail"},
|
|
1294
|
+
{"key":"L0085","section":"Tasks","text":"status","placement":"unplaced","state":"detail"},
|
|
1295
|
+
{"key":"L0086","section":"Tasks","text":"Filters","placement":"unplaced","state":"detail"},
|
|
1296
|
+
{"key":"L0087","section":"Tasks","text":"{…} of {…}","placement":"placed","file":"modules/hall-ui/public/sky-panel.js","line":120,"string_id":"73c1372b43d9","state":"detail","occurrences":3},
|
|
1297
|
+
{"key":"L0088","section":"Tasks","text":"Archon","placement":"unplaced","state":"detail"},
|
|
1298
|
+
{"key":"L0089","section":"Tasks","text":"30m","placement":"unplaced","state":"detail"},
|
|
1299
|
+
{"key":"L0090","section":"Tasks","text":"1.00 {…}/min","placement":"unplaced","state":"detail","occurrences":9},
|
|
1300
|
+
{"key":"L0091","section":"Tasks","text":"11d","placement":"unplaced","state":"detail"},
|
|
1301
|
+
{"key":"L0092","section":"Tasks","text":"{…} Est.","placement":"unplaced","state":"detail","occurrences":25},
|
|
1302
|
+
{"key":"L0093","section":"Tasks","text":"Claim","placement":"unplaced","state":"detail","occurrences":25},
|
|
1303
|
+
{"key":"L0094","section":"Tasks","text":"Metic+","placement":"unplaced","state":"detail","occurrences":6},
|
|
1304
|
+
{"key":"L0095","section":"Tasks","text":"60m","placement":"unplaced","state":"detail","occurrences":17},
|
|
1305
|
+
{"key":"L0096","section":"Tasks","text":"Any rank","placement":"placed","file":"modules/hall-ui/public/task-lib.js","line":82,"string_id":"52ed0e2e3470","state":"detail","occurrences":18},
|
|
1306
|
+
{"key":"L0097","section":"Tasks","text":"45m","placement":"unplaced","state":"detail","occurrences":2},
|
|
1307
|
+
{"key":"L0098","section":"Tasks","text":"4w","placement":"unplaced","state":"detail","occurrences":21},
|
|
1308
|
+
{"key":"L0099","section":"Tasks","text":"0.85 {…}/min","placement":"unplaced","state":"detail","occurrences":11},
|
|
1309
|
+
{"key":"L0100","section":"Tasks","text":"40m","placement":"unplaced","state":"detail"},
|
|
1310
|
+
{"key":"L0101","section":"Tasks","text":"0.75 {…}/min","placement":"unplaced","state":"detail"},
|
|
1311
|
+
{"key":"L0102","section":"Tasks","text":"2w","placement":"unplaced","state":"detail"},
|
|
1312
|
+
{"key":"L0103","section":"Tasks","text":"90m","placement":"unplaced","state":"detail"},
|
|
1313
|
+
{"key":"L0104","section":"Tasks","text":"0.67 {…}/min","placement":"unplaced","state":"detail"},
|
|
1314
|
+
{"key":"L0105","section":"Tasks","text":"120m","placement":"unplaced","state":"detail","occurrences":3},
|
|
1315
|
+
{"key":"L0106","section":"Tasks","text":"0.58 {…}/min","placement":"unplaced","state":"detail"},
|
|
1316
|
+
{"key":"L0107","section":"Tasks","text":"8w","placement":"unplaced","state":"detail"},
|
|
1317
|
+
{"key":"L0108","section":"Tasks","text":"0.50 {…}/min","placement":"unplaced","state":"detail","occurrences":2},
|
|
1318
|
+
{"key":"L0109","section":"Tasks","text":"Per page","placement":"placed","file":"modules/hall-ui/public/hall-kit.js","line":74,"string_id":"4a46b478edaf","state":"detail"},
|
|
1319
|
+
{"key":"L0110","section":"Tasks","text":"‹ Prev","placement":"placed","file":"modules/hall-ui/public/hall-kit.js","line":74,"string_id":"de8fa5223aee","state":"detail"},
|
|
1320
|
+
{"key":"L0111","section":"Tasks","text":"Page {…} of {…}","placement":"placed","file":"modules/hall-ui/public/hall-kit.js","line":112,"string_id":"15a49bf15007","state":"detail"},
|
|
1321
|
+
{"key":"L0112","section":"Tasks","text":"Next ›","placement":"placed","file":"modules/hall-ui/public/hall-kit.js","line":74,"string_id":"f52ba261d930","state":"detail"},
|
|
1322
|
+
{"key":"L0113","section":"Tasks","text":"Builders hall · this session","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":810,"string_id":"fd1903586e8e","state":"detail"},
|
|
1323
|
+
{"key":"L0114","section":"Goals","text":"Search","placement":"unplaced"},
|
|
1324
|
+
{"key":"L0115","section":"Goals","text":"goal # or name…","placement":"unplaced","attr":"placeholder"},
|
|
1325
|
+
{"key":"L0116","section":"Goals","text":"Version","placement":"unplaced"},
|
|
1326
|
+
{"key":"L0117","section":"Goals","text":"— any —","placement":"placed","file":"modules/hall-ui/public/hall-widgets.js","line":163,"string_id":"729d4ce22b99","occurrences":2},
|
|
1327
|
+
{"key":"L0118","section":"Goals","text":"Status","placement":"unplaced"},
|
|
1328
|
+
{"key":"L0119","section":"Goals","text":"open","placement":"placed","file":"modules/hall-ui/public/approval-queue.js","line":163,"string_id":"9a803563c948","occurrences":16},
|
|
1329
|
+
{"key":"L0120","section":"Goals","text":"Sort","placement":"unplaced"},
|
|
1330
|
+
{"key":"L0121","section":"Goals","text":"priority (version order)","placement":"unplaced"},
|
|
1331
|
+
{"key":"L0122","section":"Goals","text":"newest first","placement":"unplaced"},
|
|
1332
|
+
{"key":"L0123","section":"Goals","text":"oldest first","placement":"placed","file":"modules/hall-ui/public/hall-widgets.js","line":165,"string_id":"759c12b5f983"},
|
|
1333
|
+
{"key":"L0124","section":"Goals","text":"recently {…}","placement":"unplaced"},
|
|
1334
|
+
{"key":"L0125","section":"Goals","text":"stalest first","placement":"unplaced"},
|
|
1335
|
+
{"key":"L0126","section":"Goals","text":"Filters","placement":"unplaced"},
|
|
1336
|
+
{"key":"L0127","section":"Goals","text":"Views","placement":"unplaced"},
|
|
1337
|
+
{"key":"L0128","section":"Goals","text":"rows","placement":"unplaced"},
|
|
1338
|
+
{"key":"L0129","section":"Goals","text":"cards","placement":"unplaced"},
|
|
1339
|
+
{"key":"L0130","section":"Goals","text":"Ready to claim","placement":"unplaced"},
|
|
1340
|
+
{"key":"L0131","section":"Goals","text":"across 15 {…} {…}","placement":"unplaced"},
|
|
1341
|
+
{"key":"L0132","section":"Goals","text":"In progress","placement":"unplaced"},
|
|
1342
|
+
{"key":"L0133","section":"Goals","text":"claimed right now","placement":"unplaced"},
|
|
1343
|
+
{"key":"L0134","section":"Goals","text":"Blocked","placement":"unplaced"},
|
|
1344
|
+
{"key":"L0135","section":"Goals","text":"waiting on upstream tasks","placement":"unplaced"},
|
|
1345
|
+
{"key":"L0136","section":"Goals","text":"Criteria met","placement":"unplaced"},
|
|
1346
|
+
{"key":"L0137","section":"Goals","text":"on 15 {…} {…}","placement":"unplaced"},
|
|
1347
|
+
{"key":"L0138","section":"Goals","text":"Active","placement":"unplaced"},
|
|
1348
|
+
{"key":"L0139","section":"Goals","text":"{…} project{…}","placement":"placed","file":"modules/hall-ui/public/fleet.js","line":39,"string_id":"771bef3d31b5","occurrences":7},
|
|
1349
|
+
{"key":"L0140","section":"Goals","text":"claim next","placement":"placed","file":"modules/hall-ui/public/goals-render.js","line":169,"string_id":"9203a7283960","occurrences":15},
|
|
1350
|
+
{"key":"L0141","section":"Goals","text":"in progress","placement":"placed","file":"modules/hall-ui/public/roadmap.js","line":120,"string_id":"b2b399fdd6a4","occurrences":4},
|
|
1351
|
+
{"key":"L0142","section":"Goals","text":"blocked","placement":"unplaced","occurrences":8},
|
|
1352
|
+
{"key":"L0143","section":"Goals","text":"backlog","placement":"unplaced","occurrences":4},
|
|
1353
|
+
{"key":"L0144","section":"Goals","text":"{…} of {…}","placement":"placed","file":"modules/hall-ui/public/sky-panel.js","line":120,"string_id":"73c1372b43d9"},
|
|
1354
|
+
{"key":"L0145","section":"Goals","text":"⚖ admitted","placement":"placed","file":"modules/hall-ui/public/goals-render.js","line":194,"string_id":"5d6f38a02386","occurrences":3},
|
|
1355
|
+
{"key":"L0146","section":"Goals","text":"sessions","placement":"placed","file":"modules/hall-ui/public/task.js","line":467,"string_id":"732b4c935e36"},
|
|
1356
|
+
{"key":"L0147","section":"Goals","text":"Builders hall · this session","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":810,"string_id":"fd1903586e8e"},
|
|
1357
|
+
{"key":"L0148","section":"What are you doing now?","text":"What are you doing now?","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":811,"string_id":"60853319f290"},
|
|
1358
|
+
{"key":"L0149","section":"What are you doing now?","text":"Pick one. You can switch any time from the top bar.","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":812,"string_id":"4f87d5b17b54"},
|
|
1359
|
+
{"key":"L0150","section":"What are you doing now?","text":"Building","placement":"unplaced"},
|
|
1360
|
+
{"key":"L0151","section":"What are you doing now?","text":"{…} and {…}","placement":"placed","file":"modules/hall-ui/public/profile-nudge.js","line":77,"string_id":"56b00d773232","occurrences":3},
|
|
1361
|
+
{"key":"L0152","section":"What are you doing now?","text":"Artistry","placement":"unplaced"},
|
|
1362
|
+
{"key":"L0153","section":"What are you doing now?","text":"Ideating","placement":"unplaced"},
|
|
1363
|
+
{"key":"L0154","section":"What are you doing now?","text":"Turn thoughts into {…}.","placement":"unplaced"},
|
|
1364
|
+
{"key":"L0155","section":"What are you doing now?","text":"Ask me again next session","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":815,"string_id":"fa86bf403775"}
|
|
1356
1365
|
]
|
|
1357
1366
|
},
|
|
1358
1367
|
{
|
|
@@ -220,8 +220,44 @@
|
|
|
220
220
|
+ 'in ' + plural(multi, 'chain') + '.';
|
|
221
221
|
}
|
|
222
222
|
|
|
223
|
+
// brief — the band card's one line (task 1004738): the shape in the third of
|
|
224
|
+
// the width the full view's `describe` sentence gets.
|
|
225
|
+
function brief(a) {
|
|
226
|
+
if (!a.order.length) return describe(a);
|
|
227
|
+
var multi = a.chains.filter(function (c) { return c.length > 1; }).length;
|
|
228
|
+
return plural(a.order.length, 'task') + ' linked by dependencies, in ' + plural(multi, 'chain') + '.';
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
// shipFirst — the band card's short list: open tasks that nothing open still
|
|
232
|
+
// blocks, ranked by how many open tasks wait on them, directly or down the
|
|
233
|
+
// chain. A task that unblocks nothing is not "first" for anyone, so it is left off.
|
|
234
|
+
var CLOSED = { completed: true, confirmed: true, shipped: true, abandoned: true, dropped: true };
|
|
235
|
+
function shipFirst(a, limit) {
|
|
236
|
+
function open(id) { return !CLOSED[a.byId[id].status]; }
|
|
237
|
+
function unblocks(id) {
|
|
238
|
+
var seen = {};
|
|
239
|
+
var stack = (a.needed[id] || []).slice();
|
|
240
|
+
var count = 0;
|
|
241
|
+
while (stack.length) {
|
|
242
|
+
var x = stack.pop();
|
|
243
|
+
if (seen[x]) continue;
|
|
244
|
+
seen[x] = true;
|
|
245
|
+
if (open(x)) count++;
|
|
246
|
+
stack.push.apply(stack, a.needed[x] || []);
|
|
247
|
+
}
|
|
248
|
+
return count;
|
|
249
|
+
}
|
|
250
|
+
return a.order
|
|
251
|
+
.filter(function (id) { return open(id) && (a.waits[id] || []).every(function (d) { return !open(d); }); })
|
|
252
|
+
.map(function (id) { return { id: id, title: a.byId[id].title || ('Task ' + id), unblocks: unblocks(id) }; })
|
|
253
|
+
.filter(function (r) { return r.unblocks > 0; })
|
|
254
|
+
.sort(function (x, y) { return (y.unblocks - x.unblocks) || byNumericId(x.id, y.id); })
|
|
255
|
+
.slice(0, limit);
|
|
256
|
+
}
|
|
257
|
+
|
|
223
258
|
return {
|
|
224
259
|
analyse: analyse, layout: layout, tableRows: tableRows, describe: describe,
|
|
260
|
+
brief: brief, shipFirst: shipFirst,
|
|
225
261
|
plural: plural, priorityLabel: priorityLabel,
|
|
226
262
|
TEXT_INSET: TEXT_INSET, TITLE_LINES: TITLE_LINES,
|
|
227
263
|
};
|