@bongos/core 1.19.545 → 1.19.547
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 +39 -34
- package/docs/copy-inventory.md +5 -5
- package/docs/copy-registry.json +7 -7
- package/docs/module-api-changelog.md +4 -0
- package/modules/hall-ui/public/hall-kit.js +76 -41
- package/modules/hall-ui/public/profile-charts.js +8 -2
- package/modules/ui-design/skills/brandkit/SKILL.md +5 -1
- package/modules/ui-design/skills/design-taste-frontend/SKILL.md +5 -1
- package/modules/ui-design/skills/design-taste-frontend-v1/SKILL.md +5 -1
- package/modules/ui-design/skills/gpt-taste/SKILL.md +5 -1
- package/modules/ui-design/skills/high-end-visual-design/SKILL.md +5 -1
- package/modules/ui-design/skills/image-to-code/SKILL.md +5 -1
- package/modules/ui-design/skills/imagegen-frontend-mobile/SKILL.md +5 -1
- package/modules/ui-design/skills/imagegen-frontend-web/SKILL.md +5 -1
- package/modules/ui-design/skills/impeccable/SKILL.md +5 -1
- package/modules/ui-design/skills/industrial-brutalist-ui/SKILL.md +5 -1
- package/modules/ui-design/skills/minimalist-ui/SKILL.md +5 -1
- package/modules/ui-design/skills/redesign-existing-projects/SKILL.md +5 -1
- package/modules/ui-design/skills/stitch-design-taste/SKILL.md +5 -1
- package/modules/ui-design/skills/style/SKILL.md +5 -1
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/scripts/gds/fitness.js +10 -3
- package/scripts/gds/seed-strict-versioning-tasks.js +275 -0
- package/scripts/gds/skill-lint.js +43 -9
- package/src/module-api.js +1 -1
- package/tests/hall_kit_charts.mjs +59 -0
- package/tests/skill_lint.mjs +51 -2
- package/tests/ui_design_skills.mjs +12 -2
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.547",
|
|
6
|
+
"core_contract": "1.19.547",
|
|
7
|
+
"source_commit": "74fc01314b948646eac524ea4ffe8379166aa924",
|
|
8
8
|
"source_ref": "HEAD",
|
|
9
|
-
"built_at": "2026-09-
|
|
9
|
+
"built_at": "2026-09-04T18:16:19.583Z",
|
|
10
10
|
"redaction": {
|
|
11
11
|
"model": "docs-redacted+functional-verbatim",
|
|
12
12
|
"docs_redacted": 441,
|
|
13
13
|
"agent_docs_stubbed": 24,
|
|
14
|
-
"functional_verbatim":
|
|
14
|
+
"functional_verbatim": 2013,
|
|
15
15
|
"rules": 3,
|
|
16
16
|
"gate_literals": 3,
|
|
17
17
|
"gate": "passed"
|
|
18
18
|
},
|
|
19
|
-
"file_count":
|
|
20
|
-
"tree_sha256": "
|
|
19
|
+
"file_count": 2478,
|
|
20
|
+
"tree_sha256": "7920af699f6e91dc4611edbd8cd050bd7865d5a8bb94cf035bdfb02b122664f3",
|
|
21
21
|
"files": [
|
|
22
22
|
{
|
|
23
23
|
"path": ".claude/skills/blocker-review/SKILL.md",
|
|
@@ -1797,12 +1797,12 @@
|
|
|
1797
1797
|
{
|
|
1798
1798
|
"path": "docs/copy-inventory.md",
|
|
1799
1799
|
"mode": "0000644",
|
|
1800
|
-
"sha256": "
|
|
1800
|
+
"sha256": "f031d9706b2afc0f579684ec7d451d38b9c8ffd88f7fdb29e3b720a306f80c2f"
|
|
1801
1801
|
},
|
|
1802
1802
|
{
|
|
1803
1803
|
"path": "docs/copy-registry.json",
|
|
1804
1804
|
"mode": "0000644",
|
|
1805
|
-
"sha256": "
|
|
1805
|
+
"sha256": "aff8da11e90581e6ca7c9410d4524bf22d8bce6fe8f58bae9ebd6f1de744a2eb"
|
|
1806
1806
|
},
|
|
1807
1807
|
{
|
|
1808
1808
|
"path": "docs/design/apex-pass-2-direction.md",
|
|
@@ -2647,7 +2647,7 @@
|
|
|
2647
2647
|
{
|
|
2648
2648
|
"path": "docs/module-api-changelog.md",
|
|
2649
2649
|
"mode": "0000644",
|
|
2650
|
-
"sha256": "
|
|
2650
|
+
"sha256": "6410d7bb5a2067929dde46c0a7e263399cb8dc23e86379fa745b295c93a152c5"
|
|
2651
2651
|
},
|
|
2652
2652
|
{
|
|
2653
2653
|
"path": "docs/modules-contract.md",
|
|
@@ -4802,7 +4802,7 @@
|
|
|
4802
4802
|
{
|
|
4803
4803
|
"path": "modules/hall-ui/public/hall-kit.js",
|
|
4804
4804
|
"mode": "0000644",
|
|
4805
|
-
"sha256": "
|
|
4805
|
+
"sha256": "f153e550a362c0da63c307e93eb135966e0ca74f7bffbbfebd44af98b1a1ece3"
|
|
4806
4806
|
},
|
|
4807
4807
|
{
|
|
4808
4808
|
"path": "modules/hall-ui/public/hall-render.js",
|
|
@@ -5002,7 +5002,7 @@
|
|
|
5002
5002
|
{
|
|
5003
5003
|
"path": "modules/hall-ui/public/profile-charts.js",
|
|
5004
5004
|
"mode": "0000644",
|
|
5005
|
-
"sha256": "
|
|
5005
|
+
"sha256": "8ec23ddc97bca27b13c27d18e378476d639545c1c772bae7ae4b113d4b2fcdea"
|
|
5006
5006
|
},
|
|
5007
5007
|
{
|
|
5008
5008
|
"path": "modules/hall-ui/public/profile-connections.js",
|
|
@@ -7182,47 +7182,47 @@
|
|
|
7182
7182
|
{
|
|
7183
7183
|
"path": "modules/ui-design/skills/brandkit/SKILL.md",
|
|
7184
7184
|
"mode": "0000644",
|
|
7185
|
-
"sha256": "
|
|
7185
|
+
"sha256": "b17be59c55cc536ed4dd4182564ca926ca886113ad8ce3ba5025f0caad689b28"
|
|
7186
7186
|
},
|
|
7187
7187
|
{
|
|
7188
7188
|
"path": "modules/ui-design/skills/design-taste-frontend-v1/SKILL.md",
|
|
7189
7189
|
"mode": "0000644",
|
|
7190
|
-
"sha256": "
|
|
7190
|
+
"sha256": "7f342307efb46a82fa29faa1708b8f67daef63a4992dc0edb0e80398cd95fb81"
|
|
7191
7191
|
},
|
|
7192
7192
|
{
|
|
7193
7193
|
"path": "modules/ui-design/skills/design-taste-frontend/SKILL.md",
|
|
7194
7194
|
"mode": "0000644",
|
|
7195
|
-
"sha256": "
|
|
7195
|
+
"sha256": "e1df9e0e7fa46b06147404cdf87673477cac42977da559064892c478bfb2ec37"
|
|
7196
7196
|
},
|
|
7197
7197
|
{
|
|
7198
7198
|
"path": "modules/ui-design/skills/gpt-taste/SKILL.md",
|
|
7199
7199
|
"mode": "0000644",
|
|
7200
|
-
"sha256": "
|
|
7200
|
+
"sha256": "7c22d993cf7e42114f1c234e1321299b340c0e7fabd09f19b408f771de211fb5"
|
|
7201
7201
|
},
|
|
7202
7202
|
{
|
|
7203
7203
|
"path": "modules/ui-design/skills/high-end-visual-design/SKILL.md",
|
|
7204
7204
|
"mode": "0000644",
|
|
7205
|
-
"sha256": "
|
|
7205
|
+
"sha256": "2bf36058d7db8c619b89b4e7fc97e303e99d2123cc2ea0f241174ab3c54b7d00"
|
|
7206
7206
|
},
|
|
7207
7207
|
{
|
|
7208
7208
|
"path": "modules/ui-design/skills/image-to-code/SKILL.md",
|
|
7209
7209
|
"mode": "0000644",
|
|
7210
|
-
"sha256": "
|
|
7210
|
+
"sha256": "7a85f43a0455549a5434485f5803569693308bd713debbfe045f676d29dcdae0"
|
|
7211
7211
|
},
|
|
7212
7212
|
{
|
|
7213
7213
|
"path": "modules/ui-design/skills/imagegen-frontend-mobile/SKILL.md",
|
|
7214
7214
|
"mode": "0000644",
|
|
7215
|
-
"sha256": "
|
|
7215
|
+
"sha256": "5de59ad0e46c1efa1d52c8148ad39c26f797bc7fa888839236fa49e97a30d382"
|
|
7216
7216
|
},
|
|
7217
7217
|
{
|
|
7218
7218
|
"path": "modules/ui-design/skills/imagegen-frontend-web/SKILL.md",
|
|
7219
7219
|
"mode": "0000644",
|
|
7220
|
-
"sha256": "
|
|
7220
|
+
"sha256": "c096c4c7a74b5613c7012f4b0dc3b1baca5e59819dd2f2b218fbe57e2ecba8a5"
|
|
7221
7221
|
},
|
|
7222
7222
|
{
|
|
7223
7223
|
"path": "modules/ui-design/skills/impeccable/SKILL.md",
|
|
7224
7224
|
"mode": "0000644",
|
|
7225
|
-
"sha256": "
|
|
7225
|
+
"sha256": "285e595744c3d52b8a96e32f8986a82a08dd83fee172b852b5d8b14c808ae95e"
|
|
7226
7226
|
},
|
|
7227
7227
|
{
|
|
7228
7228
|
"path": "modules/ui-design/skills/impeccable/reference/adapt.md",
|
|
@@ -7317,12 +7317,12 @@
|
|
|
7317
7317
|
{
|
|
7318
7318
|
"path": "modules/ui-design/skills/industrial-brutalist-ui/SKILL.md",
|
|
7319
7319
|
"mode": "0000644",
|
|
7320
|
-
"sha256": "
|
|
7320
|
+
"sha256": "86e9497cbfe20def445fcf4a53429755f31517f19a0e07dc3a73f99d13ec9b4f"
|
|
7321
7321
|
},
|
|
7322
7322
|
{
|
|
7323
7323
|
"path": "modules/ui-design/skills/minimalist-ui/SKILL.md",
|
|
7324
7324
|
"mode": "0000644",
|
|
7325
|
-
"sha256": "
|
|
7325
|
+
"sha256": "fa1d7b7a801d6640bc49b4f762d48ff063f0cb01dc93d188a916a2b357c60542"
|
|
7326
7326
|
},
|
|
7327
7327
|
{
|
|
7328
7328
|
"path": "modules/ui-design/skills/policy.json",
|
|
@@ -7332,17 +7332,17 @@
|
|
|
7332
7332
|
{
|
|
7333
7333
|
"path": "modules/ui-design/skills/redesign-existing-projects/SKILL.md",
|
|
7334
7334
|
"mode": "0000644",
|
|
7335
|
-
"sha256": "
|
|
7335
|
+
"sha256": "b58f23bda03283aea06430601dd73f654509d3404bdd31322c8214582fee7eb1"
|
|
7336
7336
|
},
|
|
7337
7337
|
{
|
|
7338
7338
|
"path": "modules/ui-design/skills/stitch-design-taste/SKILL.md",
|
|
7339
7339
|
"mode": "0000644",
|
|
7340
|
-
"sha256": "
|
|
7340
|
+
"sha256": "6fbf6fa566e576e2d8b55aad5cfee97d75f316263669d0eefd1eb1b8e691ea0f"
|
|
7341
7341
|
},
|
|
7342
7342
|
{
|
|
7343
7343
|
"path": "modules/ui-design/skills/style/SKILL.md",
|
|
7344
7344
|
"mode": "0000644",
|
|
7345
|
-
"sha256": "
|
|
7345
|
+
"sha256": "5383fe2edfc30bd17325797405b2e0809b3f76ae49b0cc94622557b2aac8a30d"
|
|
7346
7346
|
},
|
|
7347
7347
|
{
|
|
7348
7348
|
"path": "modules/ui-design/styles/README.md",
|
|
@@ -7452,12 +7452,12 @@
|
|
|
7452
7452
|
{
|
|
7453
7453
|
"path": "package-lock.json",
|
|
7454
7454
|
"mode": "0000644",
|
|
7455
|
-
"sha256": "
|
|
7455
|
+
"sha256": "edfd30e60e4310548e2c7e53e1b6b4a417274946420ae9ae4750d0e84761d063"
|
|
7456
7456
|
},
|
|
7457
7457
|
{
|
|
7458
7458
|
"path": "package.json",
|
|
7459
7459
|
"mode": "0000644",
|
|
7460
|
-
"sha256": "
|
|
7460
|
+
"sha256": "62c9b3498ca825e2fc22c2f3ff0105a2b59cf99d12603c18b8d2762e64d38d46"
|
|
7461
7461
|
},
|
|
7462
7462
|
{
|
|
7463
7463
|
"path": "public-docs/index.html",
|
|
@@ -7892,7 +7892,7 @@
|
|
|
7892
7892
|
{
|
|
7893
7893
|
"path": "scripts/gds/fitness.js",
|
|
7894
7894
|
"mode": "0000644",
|
|
7895
|
-
"sha256": "
|
|
7895
|
+
"sha256": "c825842ed0e4bf34fa9fa7bc7e711967d1aa0efdde4132253c51231c6ccbd22e"
|
|
7896
7896
|
},
|
|
7897
7897
|
{
|
|
7898
7898
|
"path": "scripts/gds/gate-review.js",
|
|
@@ -8459,6 +8459,11 @@
|
|
|
8459
8459
|
"mode": "0000644",
|
|
8460
8460
|
"sha256": "e31e05399aef47863e1f74ecdd8ceaba9218e8995a8b45c7247ffae2e3ee23ea"
|
|
8461
8461
|
},
|
|
8462
|
+
{
|
|
8463
|
+
"path": "scripts/gds/seed-strict-versioning-tasks.js",
|
|
8464
|
+
"mode": "0000644",
|
|
8465
|
+
"sha256": "66d8b5c453a091bf00d43f012d1bddd6d994f8ad744c59eb7b02234846778e46"
|
|
8466
|
+
},
|
|
8462
8467
|
{
|
|
8463
8468
|
"path": "scripts/gds/seed-v2-world-tasks.js",
|
|
8464
8469
|
"mode": "0000644",
|
|
@@ -8612,7 +8617,7 @@
|
|
|
8612
8617
|
{
|
|
8613
8618
|
"path": "scripts/gds/skill-lint.js",
|
|
8614
8619
|
"mode": "0000644",
|
|
8615
|
-
"sha256": "
|
|
8620
|
+
"sha256": "c68e39e195cf38a7ec09d601f616dd44f83e2ea698705f41e30a08eef4308fba"
|
|
8616
8621
|
},
|
|
8617
8622
|
{
|
|
8618
8623
|
"path": "scripts/gds/skill-preflight.js",
|
|
@@ -9142,7 +9147,7 @@
|
|
|
9142
9147
|
{
|
|
9143
9148
|
"path": "src/module-api.js",
|
|
9144
9149
|
"mode": "0000644",
|
|
9145
|
-
"sha256": "
|
|
9150
|
+
"sha256": "2aae43b72235b33a2f8c641093400a69f921043593bffa26e6f421fb4a9e9131"
|
|
9146
9151
|
},
|
|
9147
9152
|
{
|
|
9148
9153
|
"path": "src/module-loader/catalog.js",
|
|
@@ -10582,7 +10587,7 @@
|
|
|
10582
10587
|
{
|
|
10583
10588
|
"path": "tests/hall_kit_charts.mjs",
|
|
10584
10589
|
"mode": "0000644",
|
|
10585
|
-
"sha256": "
|
|
10590
|
+
"sha256": "5654f4366ddcfcb61848a119a2dba3827f3fe19c0151005558a803c2e09db573"
|
|
10586
10591
|
},
|
|
10587
10592
|
{
|
|
10588
10593
|
"path": "tests/hall_nav.mjs",
|
|
@@ -12067,7 +12072,7 @@
|
|
|
12067
12072
|
{
|
|
12068
12073
|
"path": "tests/skill_lint.mjs",
|
|
12069
12074
|
"mode": "0000644",
|
|
12070
|
-
"sha256": "
|
|
12075
|
+
"sha256": "bb11de1a32e4d3504d9b5b4f649a1117364f0d5368ca96cf2a720d6dbbfbd040"
|
|
12071
12076
|
},
|
|
12072
12077
|
{
|
|
12073
12078
|
"path": "tests/skill_preflight.mjs",
|
|
@@ -12307,7 +12312,7 @@
|
|
|
12307
12312
|
{
|
|
12308
12313
|
"path": "tests/ui_design_skills.mjs",
|
|
12309
12314
|
"mode": "0000644",
|
|
12310
|
-
"sha256": "
|
|
12315
|
+
"sha256": "e8ae559aa743e4ea3377f1bf57fd33cb5efdb96ba7c67ab57964915814e7e212"
|
|
12311
12316
|
},
|
|
12312
12317
|
{
|
|
12313
12318
|
"path": "tests/ui_design_styles.mjs",
|
package/docs/copy-inventory.md
CHANGED
|
@@ -557,7 +557,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
557
557
|
| `7a239a17afc8` | certain | Loading your preferences… | `modules/hall-ui/public/settings.html:32` |
|
|
558
558
|
| `04df1bd30129` | certain | Loading your rank… | `modules/hall-ui/public/ranks.html:30` |
|
|
559
559
|
| `c27711f9eb4d` | certain | Locked until you reach the end of the article above. | `modules/hall-ui/public/primer.html:103` |
|
|
560
|
-
| `4017ee030bc2` | certain | Lookback window | `modules/hall-ui/public/profile-charts.js:
|
|
560
|
+
| `4017ee030bc2` | certain | Lookback window | `modules/hall-ui/public/profile-charts.js:431` |
|
|
561
561
|
| `a93ca2841b96` | certain | Mac (Intel) | `modules/hall-ui/public/hall-render.js:750` |
|
|
562
562
|
| `06b4ede3fb58` | certain | Machine principals | `modules/hall-ui/public/government.html:124` |
|
|
563
563
|
| `6b3d660e0e31` | certain | Map view | `modules/hall-ui/public/atlas.html:46` |
|
|
@@ -1062,7 +1062,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1062
1062
|
| `b6dceaace783` | certain | Your profile page setting applies now — private already answers "not found" everywhere your profile is read. R | `modules/hall-ui/public/settings.html:119` |
|
|
1063
1063
|
| `f39746e3d66b` | certain | Your rendering preference could not be loaded. Reload the page to try again. | `modules/hall-ui/public/settings.js:554` |
|
|
1064
1064
|
| `b2dfd7120052` | certain | Your request is sent ✓ | `modules/hall-ui/public/hall-render.js:381` |
|
|
1065
|
-
| `b410b052f000` | certain | Your shipping year | `modules/hall-ui/public/profile-charts.js:
|
|
1065
|
+
| `b410b052f000` | certain | Your shipping year | `modules/hall-ui/public/profile-charts.js:285` |
|
|
1066
1066
|
| `c16addf957d0` | certain | Your track record across every project you build on, shown on your public profile. Hiding it takes effect imme | `modules/hall-ui/public/settings.html:96` |
|
|
1067
1067
|
| `f6b12676169b` | certain | Your vote | `modules/hall-ui/public/hall-widgets.js:170` |
|
|
1068
1068
|
| `fe94ff29a2cc` | certain | Your wandering level could not be loaded. Reload the page to try again. | `modules/hall-ui/public/settings.js:486` |
|
|
@@ -1072,7 +1072,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1072
1072
|
| `137b07b42203` | certain | Zoom in | `modules/hall-ui/public/diagram-viewer.js:98` |
|
|
1073
1073
|
| `0d0bfa651b36` | certain | Zoom out | `modules/hall-ui/public/diagram-viewer.js:96` |
|
|
1074
1074
|
| `cc361cc7333a` | certain | \s?/.test(raw)) { const quoteLines = []; while (i | `modules/hall-ui/public/md-reader.js:189` |
|
|
1075
|
-
| `a02616e47d11` | certain | a year of qualifying ships, in your timezone \u00b7 only you see this one | `modules/hall-ui/public/profile-charts.js:
|
|
1075
|
+
| `a02616e47d11` | certain | a year of qualifying ships, in your timezone \u00b7 only you see this one | `modules/hall-ui/public/profile-charts.js:285` |
|
|
1076
1076
|
| `44e6e402db94` | certain | account, then open | `modules/hall-ui/public/hall-render.js:750` |
|
|
1077
1077
|
| `ae43396446ed` | certain | account. | `modules/hall-ui/public/hall-render.js:750` |
|
|
1078
1078
|
| `9612c983451f` | certain | achieved · | `modules/hall-ui/public/roadmap.js:275` |
|
|
@@ -1189,8 +1189,8 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1189
1189
|
| `9bec9eb4829e` | certain | scope: {…} | `modules/hall-ui/public/goals-render.js:785` |
|
|
1190
1190
|
| `a6f55d7aa6f7` | certain | shipped (live) | `modules/hall-ui/public/roadmap.js:285` |
|
|
1191
1191
|
| `026ba1289d4d` | certain | shipped · | `modules/hall-ui/public/goals-render.js:707` |
|
|
1192
|
-
| `ec6d8c900bc8` | certain | sign in | `modules/hall-ui/public/profile-charts.js:
|
|
1193
|
-
| `ec6d8c900bc8` | certain | sign in | `modules/hall-ui/public/profile-charts.js:
|
|
1192
|
+
| `ec6d8c900bc8` | certain | sign in | `modules/hall-ui/public/profile-charts.js:499` |
|
|
1193
|
+
| `ec6d8c900bc8` | certain | sign in | `modules/hall-ui/public/profile-charts.js:511` |
|
|
1194
1194
|
| `0215b2cdca8c` | certain | submit for review | `modules/hall-ui/public/modules.js:132` |
|
|
1195
1195
|
| `da30b952a60b` | certain | system / unattributed | `modules/hall-ui/public/goals-page.js:249` |
|
|
1196
1196
|
| `da30b952a60b` | certain | system / unattributed | `modules/hall-ui/public/work.js:498` |
|
package/docs/copy-registry.json
CHANGED
|
@@ -1553,8 +1553,8 @@
|
|
|
1553
1553
|
"text": "sign in",
|
|
1554
1554
|
"occurrences": 2,
|
|
1555
1555
|
"at": [
|
|
1556
|
-
"modules/hall-ui/public/profile-charts.js:
|
|
1557
|
-
"modules/hall-ui/public/profile-charts.js:
|
|
1556
|
+
"modules/hall-ui/public/profile-charts.js:499",
|
|
1557
|
+
"modules/hall-ui/public/profile-charts.js:511"
|
|
1558
1558
|
]
|
|
1559
1559
|
},
|
|
1560
1560
|
{
|
|
@@ -6009,7 +6009,7 @@
|
|
|
6009
6009
|
"surface": "builders-hall",
|
|
6010
6010
|
"text": "Lookback window",
|
|
6011
6011
|
"file": "modules/hall-ui/public/profile-charts.js",
|
|
6012
|
-
"line":
|
|
6012
|
+
"line": 431,
|
|
6013
6013
|
"origin": "js-markup",
|
|
6014
6014
|
"confidence": "certain"
|
|
6015
6015
|
},
|
|
@@ -10554,7 +10554,7 @@
|
|
|
10554
10554
|
"surface": "builders-hall",
|
|
10555
10555
|
"text": "Your shipping year",
|
|
10556
10556
|
"file": "modules/hall-ui/public/profile-charts.js",
|
|
10557
|
-
"line":
|
|
10557
|
+
"line": 285,
|
|
10558
10558
|
"origin": "js-markup",
|
|
10559
10559
|
"confidence": "certain"
|
|
10560
10560
|
},
|
|
@@ -10644,7 +10644,7 @@
|
|
|
10644
10644
|
"surface": "builders-hall",
|
|
10645
10645
|
"text": "a year of qualifying ships, in your timezone \\u00b7 only you see this one",
|
|
10646
10646
|
"file": "modules/hall-ui/public/profile-charts.js",
|
|
10647
|
-
"line":
|
|
10647
|
+
"line": 285,
|
|
10648
10648
|
"origin": "js-markup",
|
|
10649
10649
|
"confidence": "certain"
|
|
10650
10650
|
},
|
|
@@ -11697,7 +11697,7 @@
|
|
|
11697
11697
|
"surface": "builders-hall",
|
|
11698
11698
|
"text": "sign in",
|
|
11699
11699
|
"file": "modules/hall-ui/public/profile-charts.js",
|
|
11700
|
-
"line":
|
|
11700
|
+
"line": 499,
|
|
11701
11701
|
"origin": "js-markup",
|
|
11702
11702
|
"confidence": "certain"
|
|
11703
11703
|
},
|
|
@@ -11706,7 +11706,7 @@
|
|
|
11706
11706
|
"surface": "builders-hall",
|
|
11707
11707
|
"text": "sign in",
|
|
11708
11708
|
"file": "modules/hall-ui/public/profile-charts.js",
|
|
11709
|
-
"line":
|
|
11709
|
+
"line": 511,
|
|
11710
11710
|
"origin": "js-markup",
|
|
11711
11711
|
"confidence": "certain"
|
|
11712
11712
|
},
|
|
@@ -1539,5 +1539,9 @@ is load-bearing: the script throws rather than guess if it is missing, and
|
|
|
1539
1539
|
landed since 1.19.543 with no explicit bump. run 33899781074. (task 1002620)
|
|
1540
1540
|
1.19.545 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
1541
1541
|
landed since 1.19.544 with no explicit bump. run 33902527608. (task 1002620)
|
|
1542
|
+
1.19.546 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
1543
|
+
landed since 1.19.545 with no explicit bump. run 33904396127. (task 1002620)
|
|
1544
|
+
1.19.547 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
1545
|
+
landed since 1.19.546 with no explicit bump. run 33904937499. (task 1002620)
|
|
1542
1546
|
---------------------------------------------------------------------------
|
|
1543
1547
|
```
|
|
@@ -1033,69 +1033,100 @@
|
|
|
1033
1033
|
+ '</div>';
|
|
1034
1034
|
}
|
|
1035
1035
|
|
|
1036
|
-
//
|
|
1037
|
-
// one cell per calendar day, BANDED by count rather than scaled, its reading a
|
|
1038
|
-
// per-cell title (plus an aria summary on the whole grid), not a crosshair. The
|
|
1039
|
-
// hall's THIRD chart family (task 1003572, criterion legibility-series-are-drawn):
|
|
1040
|
-
// OTBKit's other two shapes are a horizontal bar series and a plot on a time axis;
|
|
1041
|
-
// a 2-D year grid is neither, so it earns its own primitive rather than a hand-roll
|
|
1042
|
-
// at the page (modules/hall-ui/CLAUDE.md; tests/hall_audit.mjs section 6b).
|
|
1036
|
+
// The calendar's date arithmetic, shared by the window and the grid.
|
|
1043
1037
|
//
|
|
1044
|
-
// THE
|
|
1045
|
-
//
|
|
1046
|
-
//
|
|
1047
|
-
//
|
|
1048
|
-
//
|
|
1049
|
-
//
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1038
|
+
// THE TIMEZONE TRAP: local_date is already the builder's own day, so the grid is built
|
|
1039
|
+
// by ORDINAL arithmetic on the 'YYYY-MM-DD' parts (Date.UTC on the parsed integers,
|
|
1040
|
+
// floored to an epoch day) — never `new Date('2026-09-03')`, which is UTC-midnight and
|
|
1041
|
+
// would shift a cell a day west of Greenwich. Same epoch-day floor cumulateByDay uses,
|
|
1042
|
+
// so no cell moves relative to the other charts. calDow is Sunday-indexed: epoch day 0
|
|
1043
|
+
// (1970-01-01) is a Thursday, hence the +4.
|
|
1044
|
+
const calYmdToOrd = (ymd) => {
|
|
1045
|
+
const m = /^(\d{4})-(\d{2})-(\d{2})$/.exec(ymd);
|
|
1046
|
+
if (!m) return null;
|
|
1047
|
+
return Math.floor(Date.UTC(Number(m[1]), Number(m[2]) - 1, Number(m[3])) / 86400000);
|
|
1048
|
+
};
|
|
1049
|
+
const calOrdToYmd = (ord) => {
|
|
1050
|
+
const dt = new Date(ord * 86400000);
|
|
1051
|
+
return `${dt.getUTCFullYear()}-${String(dt.getUTCMonth() + 1).padStart(2, '0')}-${String(dt.getUTCDate()).padStart(2, '0')}`;
|
|
1052
|
+
};
|
|
1053
|
+
const calDow = (o) => (((o + 4) % 7) + 7) % 7;
|
|
1054
|
+
|
|
1055
|
+
// calendarWindow(days, opts) — the DRAWN window and what falls inside it, resolved
|
|
1056
|
+
// once so the grid and whatever caption sits beside it can never disagree (task
|
|
1057
|
+
// 1003583). Two bugs came from computing this twice: the aria summary tallied every
|
|
1058
|
+
// row handed in rather than the cells drawn, and profile-charts.js counted
|
|
1059
|
+
// `days.filter(d => d.count > 0)` over the whole bounded array — so "N days shipped
|
|
1060
|
+
// this year" could name a day sitting outside the grid's first partial week.
|
|
1054
1061
|
//
|
|
1055
|
-
//
|
|
1056
|
-
//
|
|
1057
|
-
|
|
1058
|
-
// is UTC-midnight and would shift a cell a day west of Greenwich. Same epoch-day
|
|
1059
|
-
// floor cumulateByDay uses, so no cell moves relative to the other charts.
|
|
1060
|
-
function calendarGridHtml(days, opts = {}) {
|
|
1062
|
+
// Returns null when there is nothing real to draw, so callers keep their own empty
|
|
1063
|
+
// state rather than rendering an empty grid.
|
|
1064
|
+
function calendarWindow(days, opts = {}) {
|
|
1061
1065
|
const list = (days || []).filter((d) => d && typeof d.local_date === 'string');
|
|
1062
|
-
const ymdToOrd = (ymd) => {
|
|
1063
|
-
const m = /^(\d{4})-(\d{2})-(\d{2})$/.exec(ymd);
|
|
1064
|
-
if (!m) return null;
|
|
1065
|
-
return Math.floor(Date.UTC(Number(m[1]), Number(m[2]) - 1, Number(m[3])) / 86400000);
|
|
1066
|
-
};
|
|
1067
|
-
const ordToYmd = (ord) => {
|
|
1068
|
-
const dt = new Date(ord * 86400000);
|
|
1069
|
-
return `${dt.getUTCFullYear()}-${String(dt.getUTCMonth() + 1).padStart(2, '0')}-${String(dt.getUTCDate()).padStart(2, '0')}`;
|
|
1070
|
-
};
|
|
1071
1066
|
const counts = new Map();
|
|
1072
1067
|
let maxOrd = null;
|
|
1073
|
-
let activeDays = 0;
|
|
1074
|
-
let totalShips = 0;
|
|
1075
1068
|
for (const d of list) {
|
|
1076
|
-
const o =
|
|
1069
|
+
const o = calYmdToOrd(d.local_date);
|
|
1077
1070
|
if (o == null) continue;
|
|
1078
1071
|
const c = Math.max(0, Math.round(Number(d.count) || 0));
|
|
1079
1072
|
if (c <= 0) continue;
|
|
1080
1073
|
counts.set(o, (counts.get(o) || 0) + c);
|
|
1081
1074
|
if (maxOrd == null || o > maxOrd) maxOrd = o;
|
|
1082
1075
|
}
|
|
1083
|
-
if (maxOrd == null) return
|
|
1084
|
-
for (const [, c] of counts) { activeDays += 1; totalShips += c; }
|
|
1076
|
+
if (maxOrd == null) return null;
|
|
1085
1077
|
|
|
1086
1078
|
// The grid ENDS at `today` (the builder's, when given) so a quiet recent week still
|
|
1087
1079
|
// reads as time that passed, not a truncated chart; falls back to the last ship day.
|
|
1088
|
-
const todayOrd = (opts.today &&
|
|
1080
|
+
const todayOrd = (opts.today && calYmdToOrd(opts.today)) || maxOrd;
|
|
1089
1081
|
const endOrd = Math.max(todayOrd, maxOrd);
|
|
1090
1082
|
const weeks = Math.max(1, Math.min(53, Math.round(Number(opts.weeks)) || 53));
|
|
1091
1083
|
|
|
1092
1084
|
// Columns are weeks, rows Sun..Sat. Epoch day 0 (1970-01-01) is a Thursday, so the
|
|
1093
1085
|
// Sunday-indexed weekday is (ord + 4) mod 7. The last column is the week holding
|
|
1094
1086
|
// endOrd; walk back `weeks` Sundays to the first cell.
|
|
1095
|
-
const
|
|
1096
|
-
const endSun = endOrd - dow(endOrd);
|
|
1087
|
+
const endSun = endOrd - calDow(endOrd);
|
|
1097
1088
|
const startSun = endSun - (weeks - 1) * 7;
|
|
1098
1089
|
|
|
1090
|
+
// Tallied over the DRAWN range only — [startSun, endOrd] — not over everything
|
|
1091
|
+
// handed in. A day the caller supplied that falls before the first column is real
|
|
1092
|
+
// history, but it is not on this picture, so it is not in this picture's summary.
|
|
1093
|
+
let activeDays = 0;
|
|
1094
|
+
let totalShips = 0;
|
|
1095
|
+
for (const [o, c] of counts) {
|
|
1096
|
+
if (o < startSun || o > endOrd) continue;
|
|
1097
|
+
activeDays += 1;
|
|
1098
|
+
totalShips += c;
|
|
1099
|
+
}
|
|
1100
|
+
return { counts, startSun, endOrd, weeks, activeDays, totalShips };
|
|
1101
|
+
}
|
|
1102
|
+
|
|
1103
|
+
// calendarGridHtml(days, opts) — a year of ship-days as a contribution calendar:
|
|
1104
|
+
// one cell per calendar day, BANDED by count rather than scaled, its reading a
|
|
1105
|
+
// per-cell title (plus an aria summary on the whole grid), not a crosshair. The
|
|
1106
|
+
// hall's THIRD chart family (task 1003572, criterion legibility-series-are-drawn):
|
|
1107
|
+
// OTBKit's other two shapes are a horizontal bar series and a plot on a time axis;
|
|
1108
|
+
// a 2-D year grid is neither, so it earns its own primitive rather than a hand-roll
|
|
1109
|
+
// at the page (modules/hall-ui/CLAUDE.md; tests/hall_audit.mjs section 6b).
|
|
1110
|
+
//
|
|
1111
|
+
// THE READING, decided and written down (the task asked which): a NON-picture reader
|
|
1112
|
+
// gets the exact figure two ways — each cell carries a `title` ("2026-09-03 · 3
|
|
1113
|
+
// ships" / "… · no ships"), and the grid carries an aria-label summarising the
|
|
1114
|
+
// window (active days + total ships). No table twin: unlike a line, a calendar's
|
|
1115
|
+
// value IS its position, so a per-cell title reads the same fact the picture shows,
|
|
1116
|
+
// and a 366-row table beneath would be longer than the thing it explains.
|
|
1117
|
+
//
|
|
1118
|
+
// `days`: [{ local_date:'YYYY-MM-DD', count }] — SPARSE (only days that had ships),
|
|
1119
|
+
// already resolved in the BUILDER's timezone server-side (GET /me). Empty → '' so
|
|
1120
|
+
// the caller renders its own empty state, never an empty grid.
|
|
1121
|
+
//
|
|
1122
|
+
// The window it draws, and the tallies its summary quotes, come from calendarWindow —
|
|
1123
|
+
// see the timezone trap documented there.
|
|
1124
|
+
function calendarGridHtml(days, opts = {}) {
|
|
1125
|
+
const win = calendarWindow(days, opts);
|
|
1126
|
+
if (!win) return ''; // nothing real to draw → caller's empty state
|
|
1127
|
+
const { counts, startSun, endOrd, weeks, activeDays, totalShips } = win;
|
|
1128
|
+
const ordToYmd = calOrdToYmd;
|
|
1129
|
+
|
|
1099
1130
|
// level 0 = empty; 1..5 map to the anti-gaming daily cap (streak.js caps a day at
|
|
1100
1131
|
// 5), so the darkest band means "hit the day's max", not "over some threshold".
|
|
1101
1132
|
const level = (c) => (c <= 0 ? 0 : Math.min(5, c));
|
|
@@ -1112,8 +1143,11 @@
|
|
|
1112
1143
|
}
|
|
1113
1144
|
}
|
|
1114
1145
|
|
|
1146
|
+
// The window is DESCRIBED, not assumed: a caller passing weeks:6 used to be handed
|
|
1147
|
+
// an aria label saying "over the last year" (task 1003583).
|
|
1148
|
+
const span = weeks === 53 ? 'the last year' : `the last ${weeks} week${weeks === 1 ? '' : 's'}`;
|
|
1115
1149
|
const summary = opts.ariaLabel
|
|
1116
|
-
|| `Ships per day over
|
|
1150
|
+
|| `Ships per day over ${span}: ${totalShips} ship${totalShips === 1 ? '' : 's'} across ${activeDays} day${activeDays === 1 ? '' : 's'}.`;
|
|
1117
1151
|
// The legend is aria-hidden: it decorates the bands, it carries no fact the cell
|
|
1118
1152
|
// titles and the summary do not already state in words.
|
|
1119
1153
|
const legend = '<div class="kit-cal__key" aria-hidden="true"><span class="kit-cal__key-label">less</span>'
|
|
@@ -1141,6 +1175,7 @@
|
|
|
1141
1175
|
sparklineHtml, barSeriesHtml, chartCardHtml, linePoints, cumulate, cumulateByDay,
|
|
1142
1176
|
// the year-grid contribution calendar (task 1003572) — the hall's third chart family
|
|
1143
1177
|
calendarGridHtml,
|
|
1178
|
+
calendarWindow,
|
|
1144
1179
|
// plotted charts: the axis frame + the two series shapes that ride it
|
|
1145
1180
|
plotSvgHtml, plotValueLabelHtml, timeStepSeriesHtml, timeStepGeometry, columnSeriesHtml,
|
|
1146
1181
|
// plotBox is exported so a caller mapping pointer x back into viewBox
|
|
@@ -267,9 +267,15 @@
|
|
|
267
267
|
// module doc's honest-exit rule; DONE WHEN #4).
|
|
268
268
|
function calendarChart({ id, streak }) {
|
|
269
269
|
const days = (streak && Array.isArray(streak.ship_days)) ? streak.ship_days : [];
|
|
270
|
-
const
|
|
270
|
+
const opts = { today: streak && streak.today };
|
|
271
|
+
const grid = window.OTBKit.calendarGridHtml(days, opts);
|
|
271
272
|
if (!grid) return null;
|
|
272
|
-
|
|
273
|
+
// The caption counts what the GRID draws, not what the server sent (task 1003583).
|
|
274
|
+
// `days` is bounded to 371 days server-side while the grid spans 53 weeks back to a
|
|
275
|
+
// Sunday, so filtering `days` here could name a day the picture does not contain —
|
|
276
|
+
// and the number sits directly under that picture. One window, read twice.
|
|
277
|
+
const win = window.OTBKit.calendarWindow(days, opts);
|
|
278
|
+
const active = win ? win.activeDays : 0;
|
|
273
279
|
const cur = Number(streak && streak.current) || 0;
|
|
274
280
|
const lng = Number(streak && streak.longest) || 0;
|
|
275
281
|
// The scalars in words, in the .pchart__read slot the other figures use for their
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: brandkit
|
|
3
|
-
description:
|
|
3
|
+
description: >-
|
|
4
|
+
The identity-system method for any instance, under the owner's hero-only rule. Infers the brand strategy
|
|
5
|
+
first, holds the logo standard and the five concept methods, and lands the system as the instance's own
|
|
6
|
+
materials — the mark as SVG, the colours as the pack, the type as its faces. Triggers on "brand kit",
|
|
7
|
+
"identity system", "logo system". Never generates a logo, wordmark or UI mockup.
|
|
4
8
|
---
|
|
5
9
|
|
|
6
10
|
<!-- BEGIN PLATFORM PREAMBLE · ui-design module · one block, byte-identical in every skill the module ships (vendored or rebuilt in-house) so an upstream refresh is a three-way merge; the source is modules/ui-design/skills/PREAMBLE.md and tests/ui_design_skills.mjs fails on drift -->
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: design-taste-frontend
|
|
3
|
-
description:
|
|
3
|
+
description: >-
|
|
4
|
+
The default taste skill for a landing page, portfolio or marketing surface on any Cloud Bongos instance.
|
|
5
|
+
Says the design read in one line, sets three dials (variance, motion, density), locks one world for the
|
|
6
|
+
whole page, and ends on a pre-flight the kit measures. Triggers on "design a landing page", "make this not
|
|
7
|
+
look templated", "taste pass", "anti-slop". Not for dashboards or native mobile.
|
|
4
8
|
---
|
|
5
9
|
|
|
6
10
|
<!-- BEGIN PLATFORM PREAMBLE · ui-design module · one block, byte-identical in every skill the module ships (vendored or rebuilt in-house) so an upstream refresh is a three-way merge; the source is modules/ui-design/skills/PREAMBLE.md and tests/ui_design_skills.mjs fails on drift -->
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: design-taste-frontend-v1
|
|
3
|
-
description:
|
|
3
|
+
description: >-
|
|
4
|
+
The earlier generation of the taste skill, kept under its own name so a task or builder that asks for it
|
|
5
|
+
gets exactly this behaviour while the default (design-taste-frontend) evolves separately. A fixed triple of
|
|
6
|
+
dials, the layout bans, full interaction cycles, and a named vocabulary of premium patterns. Triggers on
|
|
7
|
+
"design-taste-frontend-v1", "the fixed dials", "the pattern vocabulary".
|
|
4
8
|
---
|
|
5
9
|
|
|
6
10
|
<!-- BEGIN PLATFORM PREAMBLE · ui-design module · one block, byte-identical in every skill the module ships (vendored or rebuilt in-house) so an upstream refresh is a three-way merge; the source is modules/ui-design/skills/PREAMBLE.md and tests/ui_design_skills.mjs fails on drift -->
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gpt-taste
|
|
3
|
-
description:
|
|
3
|
+
description: >-
|
|
4
|
+
Anti-default enforcement for a persuasive scrolling surface when the last attempt came out looking like
|
|
5
|
+
every other one. A written plan block before any markup, derived deterministically from the route; the
|
|
6
|
+
four-stage attention-interest-desire-action structure; an ultra-wide hero; a dense tile grid with zero empty
|
|
7
|
+
cells. Triggers on "it looks generic", "award-tier", "anti-default".
|
|
4
8
|
---
|
|
5
9
|
|
|
6
10
|
<!-- BEGIN PLATFORM PREAMBLE · ui-design module · one block, byte-identical in every skill the module ships (vendored or rebuilt in-house) so an upstream refresh is a three-way merge; the source is modules/ui-design/skills/PREAMBLE.md and tests/ui_design_skills.mjs fails on drift -->
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: high-end-visual-design
|
|
3
|
-
description:
|
|
3
|
+
description: >-
|
|
4
|
+
Makes an interface read as an expensive agency build, inside the instance's world. One texture archetype and
|
|
5
|
+
one layout archetype per project, the container anatomy, the pill button, the spatial rhythm, the motion
|
|
6
|
+
choreography inside the Kill Switch, the mobile collapse, then a pre-output checklist. Triggers on "make it
|
|
7
|
+
feel premium", "agency-grade", "this looks cheap", "the polish pass".
|
|
4
8
|
---
|
|
5
9
|
|
|
6
10
|
<!-- BEGIN PLATFORM PREAMBLE · ui-design module · one block, byte-identical in every skill the module ships (vendored or rebuilt in-house) so an upstream refresh is a three-way merge; the source is modules/ui-design/skills/PREAMBLE.md and tests/ui_design_skills.mjs fails on drift -->
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: image-to-code
|
|
3
|
-
description:
|
|
3
|
+
description: >-
|
|
4
|
+
The analyse-then-implement loop for visually important web work, under the owner's hero-only rule. The
|
|
5
|
+
design source of truth is the owner's reference images and the instance's world, read per image and
|
|
6
|
+
extracted into a full spec before a line is written. Triggers on "build this from the reference", "implement
|
|
7
|
+
the mock faithfully". Never generates a section, comp or screen.
|
|
4
8
|
---
|
|
5
9
|
|
|
6
10
|
<!-- BEGIN PLATFORM PREAMBLE · ui-design module · one block, byte-identical in every skill the module ships (vendored or rebuilt in-house) so an upstream refresh is a three-way merge; the source is modules/ui-design/skills/PREAMBLE.md and tests/ui_design_skills.mjs fails on drift -->
|