@bongos/core 1.19.544 → 1.19.546
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 +87 -42
- package/docs/adr/0227-a-task-network-map-is-refused-the-goal-graph-is-the-map.md +115 -0
- package/docs/copy-inventory.md +42 -18
- package/docs/copy-registry.json +271 -25
- package/docs/module-api-changelog.md +4 -0
- package/docs/research/task-network-map/real-a-every-task.png +0 -0
- package/docs/research/task-network-map/real-b-dependency-forest.png +0 -0
- package/docs/research/task-network-map/real-c-goals.png +0 -0
- package/docs/research/task-network-map/real-d-joined-by-goal.png +0 -0
- package/modules/hall-ui/public/hall-kit.js +76 -41
- package/modules/hall-ui/public/profile-charts.js +8 -2
- package/modules/hall-ui/public/shell.js +30 -1
- package/modules/hall-ui/public/studio.css +268 -0
- package/modules/hall-ui/public/studio.html +74 -0
- package/modules/hall-ui/public/studio.js +213 -0
- package/modules/hall-ui/public/studio.states.json +54 -0
- package/modules/hall-ui/public/style.css +9 -0
- 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/skill-lint.js +43 -9
- package/scripts/gds/spike-task-map.js +178 -9
- package/src/bongos/serve-internal.js +1 -1
- package/src/module-api.js +1 -1
- package/tests/hall_kit_charts.mjs +59 -0
- package/tests/hall_nav.mjs +6 -1
- package/tests/hall_page_gate_map.mjs +5 -0
- package/tests/hall_studio_world.mjs +143 -0
- package/tests/skill_lint.mjs +51 -2
- package/tests/spike_task_map.mjs +0 -0
- 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.546",
|
|
6
|
+
"core_contract": "1.19.546",
|
|
7
|
+
"source_commit": "979e1675fe919e685e74158c7420564adda4d461",
|
|
8
8
|
"source_ref": "HEAD",
|
|
9
|
-
"built_at": "2026-09-
|
|
9
|
+
"built_at": "2026-09-04T18:10:33.995Z",
|
|
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": 2012,
|
|
15
15
|
"rules": 3,
|
|
16
16
|
"gate_literals": 3,
|
|
17
17
|
"gate": "passed"
|
|
18
18
|
},
|
|
19
|
-
"file_count":
|
|
20
|
-
"tree_sha256": "
|
|
19
|
+
"file_count": 2477,
|
|
20
|
+
"tree_sha256": "b5685b70ee82098100e1443399d51bf40ee47c0f7dd5487af8f73d92d81f1f1c",
|
|
21
21
|
"files": [
|
|
22
22
|
{
|
|
23
23
|
"path": ".claude/skills/blocker-review/SKILL.md",
|
|
@@ -1647,7 +1647,7 @@
|
|
|
1647
1647
|
{
|
|
1648
1648
|
"path": "docs/adr/0227-a-task-network-map-is-refused-the-goal-graph-is-the-map.md",
|
|
1649
1649
|
"mode": "0000644",
|
|
1650
|
-
"sha256": "
|
|
1650
|
+
"sha256": "ec0ae05a4f6ad3f6ad8faf7b2b87494219d529dcff0b7b38cb2e6626e527e514"
|
|
1651
1651
|
},
|
|
1652
1652
|
{
|
|
1653
1653
|
"path": "docs/adr/0228-the-reading-room-owes-a-reference-content-rules-not-a-second-archetype.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": "f93c244f3ed83f67a8ccf326a784d9a9049d83d72c2d05f6b06f12b3377481fe"
|
|
2651
2651
|
},
|
|
2652
2652
|
{
|
|
2653
2653
|
"path": "docs/modules-contract.md",
|
|
@@ -2944,6 +2944,26 @@
|
|
|
2944
2944
|
"mode": "0000644",
|
|
2945
2945
|
"sha256": "df987e84d3a031c680d8248fcc2be649277c475a8e315a4df04f46b7709d8dd6"
|
|
2946
2946
|
},
|
|
2947
|
+
{
|
|
2948
|
+
"path": "docs/research/task-network-map/real-a-every-task.png",
|
|
2949
|
+
"mode": "0000644",
|
|
2950
|
+
"sha256": "24f624c0c023b4740856a5ced48ebe76b00bf5529efef698a2bdc538fda496b6"
|
|
2951
|
+
},
|
|
2952
|
+
{
|
|
2953
|
+
"path": "docs/research/task-network-map/real-b-dependency-forest.png",
|
|
2954
|
+
"mode": "0000644",
|
|
2955
|
+
"sha256": "0954e2768ac7b617cbcd9c336e64f688ed66e69bcec39dd981577ec66d860905"
|
|
2956
|
+
},
|
|
2957
|
+
{
|
|
2958
|
+
"path": "docs/research/task-network-map/real-c-goals.png",
|
|
2959
|
+
"mode": "0000644",
|
|
2960
|
+
"sha256": "8561fe249f2d2ffc2867960ca05ea93d191663279993af9298e55dc3f9bf374c"
|
|
2961
|
+
},
|
|
2962
|
+
{
|
|
2963
|
+
"path": "docs/research/task-network-map/real-d-joined-by-goal.png",
|
|
2964
|
+
"mode": "0000644",
|
|
2965
|
+
"sha256": "f18a319374e3136cf96eb20c8b9fecdf5ee6b1a2b1d026e43733b7836699fae7"
|
|
2966
|
+
},
|
|
2947
2967
|
{
|
|
2948
2968
|
"path": "migrations/003_pms.sql",
|
|
2949
2969
|
"mode": "0000644",
|
|
@@ -4782,7 +4802,7 @@
|
|
|
4782
4802
|
{
|
|
4783
4803
|
"path": "modules/hall-ui/public/hall-kit.js",
|
|
4784
4804
|
"mode": "0000644",
|
|
4785
|
-
"sha256": "
|
|
4805
|
+
"sha256": "f153e550a362c0da63c307e93eb135966e0ca74f7bffbbfebd44af98b1a1ece3"
|
|
4786
4806
|
},
|
|
4787
4807
|
{
|
|
4788
4808
|
"path": "modules/hall-ui/public/hall-render.js",
|
|
@@ -4982,7 +5002,7 @@
|
|
|
4982
5002
|
{
|
|
4983
5003
|
"path": "modules/hall-ui/public/profile-charts.js",
|
|
4984
5004
|
"mode": "0000644",
|
|
4985
|
-
"sha256": "
|
|
5005
|
+
"sha256": "8ec23ddc97bca27b13c27d18e378476d639545c1c772bae7ae4b113d4b2fcdea"
|
|
4986
5006
|
},
|
|
4987
5007
|
{
|
|
4988
5008
|
"path": "modules/hall-ui/public/profile-connections.js",
|
|
@@ -5142,17 +5162,37 @@
|
|
|
5142
5162
|
{
|
|
5143
5163
|
"path": "modules/hall-ui/public/shell.js",
|
|
5144
5164
|
"mode": "0000644",
|
|
5145
|
-
"sha256": "
|
|
5165
|
+
"sha256": "bc8453262e92f1537fb68cb52c50f96b0c6cdcb9628cd2f69d4f2262e4844470"
|
|
5146
5166
|
},
|
|
5147
5167
|
{
|
|
5148
5168
|
"path": "modules/hall-ui/public/ship.wav",
|
|
5149
5169
|
"mode": "0000644",
|
|
5150
5170
|
"sha256": "733c8db2c083c7e7595799a7941f13c9940a5615fde1f23e28d03e2aabce1f3c"
|
|
5151
5171
|
},
|
|
5172
|
+
{
|
|
5173
|
+
"path": "modules/hall-ui/public/studio.css",
|
|
5174
|
+
"mode": "0000644",
|
|
5175
|
+
"sha256": "96820d92a4b1d19e542dc29b265131de11bdd8650f78515cc04ba4b8b647de84"
|
|
5176
|
+
},
|
|
5177
|
+
{
|
|
5178
|
+
"path": "modules/hall-ui/public/studio.html",
|
|
5179
|
+
"mode": "0000644",
|
|
5180
|
+
"sha256": "009ed578d63b4ac88bcac2f6f1896f4e0e4ea021fc319be3d8f9b03073b06d75"
|
|
5181
|
+
},
|
|
5182
|
+
{
|
|
5183
|
+
"path": "modules/hall-ui/public/studio.js",
|
|
5184
|
+
"mode": "0000644",
|
|
5185
|
+
"sha256": "9d32bee8f10359b6b06b95945d9a413e52d41dce48bdb8921496eab136d498f5"
|
|
5186
|
+
},
|
|
5187
|
+
{
|
|
5188
|
+
"path": "modules/hall-ui/public/studio.states.json",
|
|
5189
|
+
"mode": "0000644",
|
|
5190
|
+
"sha256": "e89763989f28b441c3eb268fb2aed7327d7be755b195b4cd141540db33eb6526"
|
|
5191
|
+
},
|
|
5152
5192
|
{
|
|
5153
5193
|
"path": "modules/hall-ui/public/style.css",
|
|
5154
5194
|
"mode": "0000644",
|
|
5155
|
-
"sha256": "
|
|
5195
|
+
"sha256": "88a06fef14cc51429d920c2c64aede57f681316a1bd83b7bc4792322312f1ac5"
|
|
5156
5196
|
},
|
|
5157
5197
|
{
|
|
5158
5198
|
"path": "modules/hall-ui/public/task-detail.js",
|
|
@@ -7142,47 +7182,47 @@
|
|
|
7142
7182
|
{
|
|
7143
7183
|
"path": "modules/ui-design/skills/brandkit/SKILL.md",
|
|
7144
7184
|
"mode": "0000644",
|
|
7145
|
-
"sha256": "
|
|
7185
|
+
"sha256": "b17be59c55cc536ed4dd4182564ca926ca886113ad8ce3ba5025f0caad689b28"
|
|
7146
7186
|
},
|
|
7147
7187
|
{
|
|
7148
7188
|
"path": "modules/ui-design/skills/design-taste-frontend-v1/SKILL.md",
|
|
7149
7189
|
"mode": "0000644",
|
|
7150
|
-
"sha256": "
|
|
7190
|
+
"sha256": "7f342307efb46a82fa29faa1708b8f67daef63a4992dc0edb0e80398cd95fb81"
|
|
7151
7191
|
},
|
|
7152
7192
|
{
|
|
7153
7193
|
"path": "modules/ui-design/skills/design-taste-frontend/SKILL.md",
|
|
7154
7194
|
"mode": "0000644",
|
|
7155
|
-
"sha256": "
|
|
7195
|
+
"sha256": "e1df9e0e7fa46b06147404cdf87673477cac42977da559064892c478bfb2ec37"
|
|
7156
7196
|
},
|
|
7157
7197
|
{
|
|
7158
7198
|
"path": "modules/ui-design/skills/gpt-taste/SKILL.md",
|
|
7159
7199
|
"mode": "0000644",
|
|
7160
|
-
"sha256": "
|
|
7200
|
+
"sha256": "7c22d993cf7e42114f1c234e1321299b340c0e7fabd09f19b408f771de211fb5"
|
|
7161
7201
|
},
|
|
7162
7202
|
{
|
|
7163
7203
|
"path": "modules/ui-design/skills/high-end-visual-design/SKILL.md",
|
|
7164
7204
|
"mode": "0000644",
|
|
7165
|
-
"sha256": "
|
|
7205
|
+
"sha256": "2bf36058d7db8c619b89b4e7fc97e303e99d2123cc2ea0f241174ab3c54b7d00"
|
|
7166
7206
|
},
|
|
7167
7207
|
{
|
|
7168
7208
|
"path": "modules/ui-design/skills/image-to-code/SKILL.md",
|
|
7169
7209
|
"mode": "0000644",
|
|
7170
|
-
"sha256": "
|
|
7210
|
+
"sha256": "7a85f43a0455549a5434485f5803569693308bd713debbfe045f676d29dcdae0"
|
|
7171
7211
|
},
|
|
7172
7212
|
{
|
|
7173
7213
|
"path": "modules/ui-design/skills/imagegen-frontend-mobile/SKILL.md",
|
|
7174
7214
|
"mode": "0000644",
|
|
7175
|
-
"sha256": "
|
|
7215
|
+
"sha256": "5de59ad0e46c1efa1d52c8148ad39c26f797bc7fa888839236fa49e97a30d382"
|
|
7176
7216
|
},
|
|
7177
7217
|
{
|
|
7178
7218
|
"path": "modules/ui-design/skills/imagegen-frontend-web/SKILL.md",
|
|
7179
7219
|
"mode": "0000644",
|
|
7180
|
-
"sha256": "
|
|
7220
|
+
"sha256": "c096c4c7a74b5613c7012f4b0dc3b1baca5e59819dd2f2b218fbe57e2ecba8a5"
|
|
7181
7221
|
},
|
|
7182
7222
|
{
|
|
7183
7223
|
"path": "modules/ui-design/skills/impeccable/SKILL.md",
|
|
7184
7224
|
"mode": "0000644",
|
|
7185
|
-
"sha256": "
|
|
7225
|
+
"sha256": "285e595744c3d52b8a96e32f8986a82a08dd83fee172b852b5d8b14c808ae95e"
|
|
7186
7226
|
},
|
|
7187
7227
|
{
|
|
7188
7228
|
"path": "modules/ui-design/skills/impeccable/reference/adapt.md",
|
|
@@ -7277,12 +7317,12 @@
|
|
|
7277
7317
|
{
|
|
7278
7318
|
"path": "modules/ui-design/skills/industrial-brutalist-ui/SKILL.md",
|
|
7279
7319
|
"mode": "0000644",
|
|
7280
|
-
"sha256": "
|
|
7320
|
+
"sha256": "86e9497cbfe20def445fcf4a53429755f31517f19a0e07dc3a73f99d13ec9b4f"
|
|
7281
7321
|
},
|
|
7282
7322
|
{
|
|
7283
7323
|
"path": "modules/ui-design/skills/minimalist-ui/SKILL.md",
|
|
7284
7324
|
"mode": "0000644",
|
|
7285
|
-
"sha256": "
|
|
7325
|
+
"sha256": "fa1d7b7a801d6640bc49b4f762d48ff063f0cb01dc93d188a916a2b357c60542"
|
|
7286
7326
|
},
|
|
7287
7327
|
{
|
|
7288
7328
|
"path": "modules/ui-design/skills/policy.json",
|
|
@@ -7292,17 +7332,17 @@
|
|
|
7292
7332
|
{
|
|
7293
7333
|
"path": "modules/ui-design/skills/redesign-existing-projects/SKILL.md",
|
|
7294
7334
|
"mode": "0000644",
|
|
7295
|
-
"sha256": "
|
|
7335
|
+
"sha256": "b58f23bda03283aea06430601dd73f654509d3404bdd31322c8214582fee7eb1"
|
|
7296
7336
|
},
|
|
7297
7337
|
{
|
|
7298
7338
|
"path": "modules/ui-design/skills/stitch-design-taste/SKILL.md",
|
|
7299
7339
|
"mode": "0000644",
|
|
7300
|
-
"sha256": "
|
|
7340
|
+
"sha256": "6fbf6fa566e576e2d8b55aad5cfee97d75f316263669d0eefd1eb1b8e691ea0f"
|
|
7301
7341
|
},
|
|
7302
7342
|
{
|
|
7303
7343
|
"path": "modules/ui-design/skills/style/SKILL.md",
|
|
7304
7344
|
"mode": "0000644",
|
|
7305
|
-
"sha256": "
|
|
7345
|
+
"sha256": "5383fe2edfc30bd17325797405b2e0809b3f76ae49b0cc94622557b2aac8a30d"
|
|
7306
7346
|
},
|
|
7307
7347
|
{
|
|
7308
7348
|
"path": "modules/ui-design/styles/README.md",
|
|
@@ -7412,12 +7452,12 @@
|
|
|
7412
7452
|
{
|
|
7413
7453
|
"path": "package-lock.json",
|
|
7414
7454
|
"mode": "0000644",
|
|
7415
|
-
"sha256": "
|
|
7455
|
+
"sha256": "d19f98e5a6379aae00b038e27ad4051484dfe060b053b67bef5577e892e623ec"
|
|
7416
7456
|
},
|
|
7417
7457
|
{
|
|
7418
7458
|
"path": "package.json",
|
|
7419
7459
|
"mode": "0000644",
|
|
7420
|
-
"sha256": "
|
|
7460
|
+
"sha256": "97a3bc18d404c2c95f273adcefacee1b34c6ed9445229622681f3a34a0bfbd72"
|
|
7421
7461
|
},
|
|
7422
7462
|
{
|
|
7423
7463
|
"path": "public-docs/index.html",
|
|
@@ -7852,7 +7892,7 @@
|
|
|
7852
7892
|
{
|
|
7853
7893
|
"path": "scripts/gds/fitness.js",
|
|
7854
7894
|
"mode": "0000644",
|
|
7855
|
-
"sha256": "
|
|
7895
|
+
"sha256": "c825842ed0e4bf34fa9fa7bc7e711967d1aa0efdde4132253c51231c6ccbd22e"
|
|
7856
7896
|
},
|
|
7857
7897
|
{
|
|
7858
7898
|
"path": "scripts/gds/gate-review.js",
|
|
@@ -8572,7 +8612,7 @@
|
|
|
8572
8612
|
{
|
|
8573
8613
|
"path": "scripts/gds/skill-lint.js",
|
|
8574
8614
|
"mode": "0000644",
|
|
8575
|
-
"sha256": "
|
|
8615
|
+
"sha256": "c68e39e195cf38a7ec09d601f616dd44f83e2ea698705f41e30a08eef4308fba"
|
|
8576
8616
|
},
|
|
8577
8617
|
{
|
|
8578
8618
|
"path": "scripts/gds/skill-preflight.js",
|
|
@@ -8622,7 +8662,7 @@
|
|
|
8622
8662
|
{
|
|
8623
8663
|
"path": "scripts/gds/spike-task-map.js",
|
|
8624
8664
|
"mode": "0000644",
|
|
8625
|
-
"sha256": "
|
|
8665
|
+
"sha256": "1d116849a4f8921a528b6784807a83894c58c2d47defbca7235fafa472fabefa"
|
|
8626
8666
|
},
|
|
8627
8667
|
{
|
|
8628
8668
|
"path": "scripts/gds/stale-worktrees.js",
|
|
@@ -9067,7 +9107,7 @@
|
|
|
9067
9107
|
{
|
|
9068
9108
|
"path": "src/bongos/serve-internal.js",
|
|
9069
9109
|
"mode": "0000644",
|
|
9070
|
-
"sha256": "
|
|
9110
|
+
"sha256": "dd733e3a5c65112cdde13496be696d0c7aefb0f90f800f4674605b9228b3997c"
|
|
9071
9111
|
},
|
|
9072
9112
|
{
|
|
9073
9113
|
"path": "src/bongos/stealth-gate.js",
|
|
@@ -9102,7 +9142,7 @@
|
|
|
9102
9142
|
{
|
|
9103
9143
|
"path": "src/module-api.js",
|
|
9104
9144
|
"mode": "0000644",
|
|
9105
|
-
"sha256": "
|
|
9145
|
+
"sha256": "83cdf243b987aea59adf18f939bc808239053d6f2fa39339bd17001be9bcf501"
|
|
9106
9146
|
},
|
|
9107
9147
|
{
|
|
9108
9148
|
"path": "src/module-loader/catalog.js",
|
|
@@ -10542,12 +10582,12 @@
|
|
|
10542
10582
|
{
|
|
10543
10583
|
"path": "tests/hall_kit_charts.mjs",
|
|
10544
10584
|
"mode": "0000644",
|
|
10545
|
-
"sha256": "
|
|
10585
|
+
"sha256": "5654f4366ddcfcb61848a119a2dba3827f3fe19c0151005558a803c2e09db573"
|
|
10546
10586
|
},
|
|
10547
10587
|
{
|
|
10548
10588
|
"path": "tests/hall_nav.mjs",
|
|
10549
10589
|
"mode": "0000644",
|
|
10550
|
-
"sha256": "
|
|
10590
|
+
"sha256": "839cceffc799df5e8cd3c02bc4cc667e36d6311e30317eae8bd099f1959832be"
|
|
10551
10591
|
},
|
|
10552
10592
|
{
|
|
10553
10593
|
"path": "tests/hall_oversight_world.mjs",
|
|
@@ -10557,7 +10597,7 @@
|
|
|
10557
10597
|
{
|
|
10558
10598
|
"path": "tests/hall_page_gate_map.mjs",
|
|
10559
10599
|
"mode": "0000644",
|
|
10560
|
-
"sha256": "
|
|
10600
|
+
"sha256": "5189253c0446c497d694310f2d49d732e843cb31bcb0431bbde3fa9aa727aeb5"
|
|
10561
10601
|
},
|
|
10562
10602
|
{
|
|
10563
10603
|
"path": "tests/hall_palette.mjs",
|
|
@@ -10604,6 +10644,11 @@
|
|
|
10604
10644
|
"mode": "0000644",
|
|
10605
10645
|
"sha256": "82bf1cc68150c247c108308d360d6408511f31a7af11d5e7a4721e7ea282f2bb"
|
|
10606
10646
|
},
|
|
10647
|
+
{
|
|
10648
|
+
"path": "tests/hall_studio_world.mjs",
|
|
10649
|
+
"mode": "0000644",
|
|
10650
|
+
"sha256": "0c7b0a24bf643482307c321f7fcaaf2662f5ab6a860237f7026046e8984cfe5b"
|
|
10651
|
+
},
|
|
10607
10652
|
{
|
|
10608
10653
|
"path": "tests/hall_tokens.mjs",
|
|
10609
10654
|
"mode": "0000644",
|
|
@@ -12022,7 +12067,7 @@
|
|
|
12022
12067
|
{
|
|
12023
12068
|
"path": "tests/skill_lint.mjs",
|
|
12024
12069
|
"mode": "0000644",
|
|
12025
|
-
"sha256": "
|
|
12070
|
+
"sha256": "bb11de1a32e4d3504d9b5b4f649a1117364f0d5368ca96cf2a720d6dbbfbd040"
|
|
12026
12071
|
},
|
|
12027
12072
|
{
|
|
12028
12073
|
"path": "tests/skill_preflight.mjs",
|
|
@@ -12062,7 +12107,7 @@
|
|
|
12062
12107
|
{
|
|
12063
12108
|
"path": "tests/spike_task_map.mjs",
|
|
12064
12109
|
"mode": "0000644",
|
|
12065
|
-
"sha256": "
|
|
12110
|
+
"sha256": "905b7b9147fa35f74c2c5f4118175ebf96fa36107379207a7a2c59afc5a2967d"
|
|
12066
12111
|
},
|
|
12067
12112
|
{
|
|
12068
12113
|
"path": "tests/sso_checkin_identity_spoof.mjs",
|
|
@@ -12262,7 +12307,7 @@
|
|
|
12262
12307
|
{
|
|
12263
12308
|
"path": "tests/ui_design_skills.mjs",
|
|
12264
12309
|
"mode": "0000644",
|
|
12265
|
-
"sha256": "
|
|
12310
|
+
"sha256": "e8ae559aa743e4ea3377f1bf57fd33cb5efdb96ba7c67ab57964915814e7e212"
|
|
12266
12311
|
},
|
|
12267
12312
|
{
|
|
12268
12313
|
"path": "tests/ui_design_styles.mjs",
|
|
@@ -167,3 +167,118 @@ assertion was mutation-tested: changing `y * w` to `y * h` fails two tests.
|
|
|
167
167
|
anything further is a prototype wearing a harness's name.* Had the arithmetic been run
|
|
168
168
|
first, the figures would have been a nice-to-have and the physics would never have been
|
|
169
169
|
written.
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## 10. Amendment (2026-09-04) — the density measured against the live DB
|
|
174
|
+
|
|
175
|
+
*Task [#1003477](https://cloudbongos.com/builders#/task/1003477), §6 item 1. §3 said two numbers would decide items 3 and 4, and
|
|
176
|
+
the original spike could only model them: the live DB was unreachable from where that
|
|
177
|
+
harness ran. They are now measured. This section is appended, not edited in — §§1–9 stand
|
|
178
|
+
as written, and the one number in them that the corpus contradicts is called out below.*
|
|
179
|
+
|
|
180
|
+
### 10.1 What was run
|
|
181
|
+
|
|
182
|
+
`GET /api/gds/tasks?include=deps` paged at `limit=1000` over the whole `tasks` table
|
|
183
|
+
(3,253 rows, all versions — BONGOS-V1 alone is 1,894), reduced to `{id, goal_id,
|
|
184
|
+
version_id, status, blocked_by[]}` and fed to the same harness through `--from`:
|
|
185
|
+
|
|
186
|
+
```
|
|
187
|
+
node scripts/gds/spike-task-map.js --from <dump>.json
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
**The loader was broken, and would have answered confidently.** `loadReal` read
|
|
191
|
+
`dependencies`/`deps`; `GET /tasks?include=deps` answers with **`blocked_by`**
|
|
192
|
+
(`db.attachTaskDepSummaries`). A real dump therefore parsed as a corpus with **zero
|
|
193
|
+
edges**, and every `--from` number would have described an empty graph while looking
|
|
194
|
+
entirely plausible — nothing in the output says *"no edges here because the field was
|
|
195
|
+
misnamed."* This is the failure mode a spike must not have, so `depIdsOf` now accepts all
|
|
196
|
+
three spellings and `tests/spike_task_map.mjs` pins it. Two tasks with **no** goal also no
|
|
197
|
+
longer share a goal bucket: pooling them turned every dependency between two ungoaled
|
|
198
|
+
tasks into a within-goal edge, understating the very number §3 asked for.
|
|
199
|
+
|
|
200
|
+
### 10.2 The two numbers
|
|
201
|
+
|
|
202
|
+
| §3's question | Measured | Modelled range |
|
|
203
|
+
|---|---|---|
|
|
204
|
+
| Share of tasks carrying ≥1 dependency row | **23.61%** (768 of 3,253) | swept 2–40% |
|
|
205
|
+
| Share of dependency edges crossing a goal boundary | **5.60%** (66 of 1,178) | assumed 15% |
|
|
206
|
+
|
|
207
|
+
Supporting shape, all exact:
|
|
208
|
+
|
|
209
|
+
- **70 goals** carry tasks (not ~40 — §§1–3 say "~40 nodes" throughout; the real graph is
|
|
210
|
+
**76 nodes**: 70 goals plus 6 ungoaled tasks, which are each their own bucket). No
|
|
211
|
+
dependency edge touches an ungoaled task, so that distinction changes no number here —
|
|
212
|
+
but it is now measured rather than assumed away.
|
|
213
|
+
- **33** distinct directed goal pairs. **36** goals carry a cross-goal edge; **34 are
|
|
214
|
+
isolated dots (48.57%)**. The goal graph breaks into **48 components, the largest 17**.
|
|
215
|
+
- The dependency forest: **1,012 tasks have an edge in either direction (31.11%)**, in
|
|
216
|
+
**128 components**, largest 102, **median 4**.
|
|
217
|
+
- Per-goal drill-down: **56 goals have one**, largest **127** tasks, median **9**.
|
|
218
|
+
|
|
219
|
+
Figures rendered from the live corpus, beside the synthetic ones:
|
|
220
|
+
[`real-a-every-task.png`](../research/task-network-map/real-a-every-task.png),
|
|
221
|
+
[`real-b-dependency-forest.png`](../research/task-network-map/real-b-dependency-forest.png),
|
|
222
|
+
[`real-c-goals.png`](../research/task-network-map/real-c-goals.png),
|
|
223
|
+
[`real-d-joined-by-goal.png`](../research/task-network-map/real-d-joined-by-goal.png).
|
|
224
|
+
|
|
225
|
+
### 10.3 §1 survives, and the real corpus is worse than the model
|
|
226
|
+
|
|
227
|
+
View A on real data: 3,253 nodes, **68.9% isolated**, 2,369 components, 16.8px pitch —
|
|
228
|
+
below the 48px a label needs. View D: **94.7% of nodes overplot**. The refusal in §1 was
|
|
229
|
+
argued from a sweep; the live corpus lands inside that sweep and fails it harder than the
|
|
230
|
+
midpoint did. **Nothing in §1 is reopened.**
|
|
231
|
+
|
|
232
|
+
### 10.4 Item 3 — the goal graph: **PROCEED**, with the shape changed
|
|
233
|
+
|
|
234
|
+
Cross-goal dependencies are **not** near zero. §3's cancel condition ("forty disconnected
|
|
235
|
+
dots") does not fire: there are 33 goal pairs and 66 edges, and at 76 nodes the view is
|
|
236
|
+
comfortably readable — 110.1px of pitch, labels fit, 14 crossings, 69ms, **under 1KB of
|
|
237
|
+
graph payload**. Item 3 is worth building.
|
|
238
|
+
|
|
239
|
+
But the evidence changes what to build, and [#1003479](https://cloudbongos.com/builders#/task/1003479) must be built to this rather
|
|
240
|
+
than to §6's wording:
|
|
241
|
+
|
|
242
|
+
1. **Half the goals have no edge at all.** 34 of 70 are isolated. A pure node-link layout
|
|
243
|
+
spends half its canvas on dots a force layout has nothing to say about — §3's own
|
|
244
|
+
objection to view A, one order of magnitude down. The honest shape is a **graph of the
|
|
245
|
+
36 connected goals plus a list (or the existing card grid) for the 34 isolated ones**,
|
|
246
|
+
with the split stated on the page. §3 was right that "a grid of goal cards" is the
|
|
247
|
+
answer for edgeless goals; it is right for *half* of them, not none.
|
|
248
|
+
2. **Even the connected half is not one graph** — 42 components among real goals, the
|
|
249
|
+
largest 17. The view must read as "one cluster and a scatter of pairs", not as a
|
|
250
|
+
network.
|
|
251
|
+
3. **The table equivalent §6 already requires is not optional here.** With 48 components,
|
|
252
|
+
the table carries more of the structure than the picture does.
|
|
253
|
+
|
|
254
|
+
### 10.5 Item 4 — the per-goal dependency forest: **PROCEED**, as scoped and not wider
|
|
255
|
+
|
|
256
|
+
23.61% of tasks carry a dependency — inside §3's stated 3–40% band, so the forest has real
|
|
257
|
+
content. The scoping in §3 ("lazy and scoped", per opened goal) is now *load-bearing
|
|
258
|
+
rather than merely prudent*, and the measurement says so both ways:
|
|
259
|
+
|
|
260
|
+
- **Whole-corpus forest: refused.** 1,012 nodes at 30.2px pitch — above the 7px dot floor
|
|
261
|
+
but **below the 48px label floor**. It would draw 1,012 discs nobody can name, in 128
|
|
262
|
+
pieces. This is the same failure as view A, and it must not be offered as a "show all"
|
|
263
|
+
toggle.
|
|
264
|
+
- **Per-goal drill-down: clears the bar, worst case included.** The biggest single goal's
|
|
265
|
+
forest is **127 tasks → 85.2px pitch, labels fit**; the median is 9. **No goal's forest
|
|
266
|
+
exceeds the label floor** (that would take >400). The drill-down is readable for every
|
|
267
|
+
goal that has one, which is exactly the claim item 4 needed and could not previously
|
|
268
|
+
make.
|
|
269
|
+
|
|
270
|
+
[#1003480](https://cloudbongos.com/builders#/task/1003480) proceeds unchanged in scope. The one thing it must add: 14 goals have **no**
|
|
271
|
+
intra-goal forest, so the drill-down needs a real empty state rather than a blank panel.
|
|
272
|
+
|
|
273
|
+
### 10.6 What this cost, and the transferable rule
|
|
274
|
+
|
|
275
|
+
The measurement took one session and cancelled nothing — but it changed item 3's design
|
|
276
|
+
before it was built (half the nodes belong in a list, not a graph) and it turned item 4's
|
|
277
|
+
"lazy and scoped" from a preference into a constraint with a number behind it. It also
|
|
278
|
+
caught a loader bug that would have made every future `--from` run answer "no edges" with
|
|
279
|
+
a straight face.
|
|
280
|
+
|
|
281
|
+
**The transferable rule:** *a spike that reads a real API must be run against the real API
|
|
282
|
+
before its numbers are quoted — a field-name mismatch does not fail, it answers zero.* §9
|
|
283
|
+
already conceded this harness over-built for its question; the other half of that lesson is
|
|
284
|
+
that the part it under-built was the twenty lines that touch reality.
|