@bongos/core 1.21.113 → 1.21.115
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 +608 -188
- package/.claude/skills/ask-for-help/SKILL.md +1 -1
- package/.claude/skills/bongos-feedback/SKILL.md +1 -1
- package/.claude/skills/builder-sequence/SKILL.md +1 -1
- package/.claude/skills/builder-ship/SKILL.md +1 -0
- package/GOVERNMENT.md +128 -11
- package/clients/bongos-client/README.md +1 -1
- package/clients/bongos-client/bongos-client.global.js +28 -0
- package/clients/bongos-client/index.cjs +28 -0
- package/clients/bongos-client/index.d.ts +45 -2
- package/clients/bongos-client/index.mjs +28 -0
- package/docs/adr/0372-an-ask-is-stored-per-docket-matter-and-the-server-refuses-slop.md +33 -0
- package/docs/adr/0373-an-ai-session-files-a-blocker-with-an-ask.md +31 -0
- package/docs/adr/0374-a-building-lead-is-a-held-position-appointed-by-a-people-matter.md +30 -0
- package/docs/adr/0375-who-may-build-without-a-vote-comes-from-the-form-of-government.md +38 -0
- package/docs/adr/0376-every-ask-is-routed-to-a-real-seat-on-the-server.md +30 -0
- package/docs/adr/0377-governance-is-a-held-position-read-on-me.md +24 -0
- package/docs/adr/0378-a-leads-build-outs-are-rows-built-at-once-or-by-a-passed-vote.md +33 -0
- package/docs/adr/0379-the-treasury-is-pots-per-goal-a-reserve-and-borrowing-over-real-spend.md +32 -0
- package/docs/adr/0380-a-strictness-preset-is-a-bundle-of-laws-switched-by-one-laws-vote.md +26 -0
- package/docs/adr/README.md +10 -1
- package/docs/api/openapi.json +989 -87
- package/docs/api-reference.md +18 -4
- package/docs/copy-inventory.md +709 -626
- package/docs/copy-registry.json +1673 -858
- package/docs/file-map.md +2 -1
- package/docs/module-api-changelog.md +4 -0
- package/docs/packs/engineer.md +2 -1
- package/docs/page-inventory.json +91 -6
- package/docs/page-readings.json +4875 -4748
- package/modules/builder-settings/law-locks.js +202 -0
- package/modules/builder-settings/routes/settings.js +66 -6
- package/modules/builder-settings/settings.js +7 -0
- package/modules/discord/ship-broadcast.js +22 -13
- package/modules/government/asks-db.js +54 -0
- package/modules/government/asks.js +269 -0
- package/modules/government/board-idea-reads.js +68 -0
- package/modules/government/board.js +21 -57
- package/modules/government/build-rights.js +148 -0
- package/modules/government/buildouts.js +160 -0
- package/modules/government/counts.js +81 -0
- package/modules/government/db.js +242 -0
- package/modules/government/decision-board.js +234 -8
- package/modules/government/decision-rules.js +2 -0
- package/modules/government/docket.js +114 -6
- package/modules/government/law-board.js +131 -0
- package/modules/government/laws.js +241 -0
- package/modules/government/leads.js +170 -0
- package/modules/government/migrations/government_027_laws.sql +143 -0
- package/modules/government/migrations/government_028_asks.sql +57 -0
- package/modules/government/migrations/government_029_leads.sql +135 -0
- package/modules/government/migrations/government_030_buildouts.sql +111 -0
- package/modules/government/migrations/government_031_treasury.sql +107 -0
- package/modules/government/module.json +2 -1
- package/modules/government/pollers/treasury-borrow.js +62 -0
- package/modules/government/positions.js +107 -0
- package/modules/government/presets.js +149 -0
- package/modules/government/routes/government.js +425 -2
- package/modules/government/routing.js +154 -0
- package/modules/government/treasury-db.js +166 -0
- package/modules/government/treasury.js +241 -0
- package/modules/hall-ui/public/atlas.html +2 -2
- package/modules/hall-ui/public/blockers.html +2 -2
- package/modules/hall-ui/public/board-room.html +2 -2
- package/modules/hall-ui/public/board-room.js +2 -0
- package/modules/hall-ui/public/city-draw.js +604 -11
- package/modules/hall-ui/public/city.css +157 -1
- package/modules/hall-ui/public/city.html +37 -7
- package/modules/hall-ui/public/city.js +441 -21
- package/modules/hall-ui/public/city.states.json +110 -5
- package/modules/hall-ui/public/collab.html +2 -2
- package/modules/hall-ui/public/commands.html +2 -2
- package/modules/hall-ui/public/copy-desk.html +2 -2
- package/modules/hall-ui/public/craft-mode.js +112 -29
- package/modules/hall-ui/public/deploy.html +2 -2
- package/modules/hall-ui/public/diagram-viewer.css +12 -0
- package/modules/hall-ui/public/diagram-viewer.js +4 -0
- package/modules/hall-ui/public/diagrams.html +2 -2
- package/modules/hall-ui/public/drachmae.html +2 -2
- package/modules/hall-ui/public/fleet.html +2 -2
- package/modules/hall-ui/public/gate.html +2 -2
- package/modules/hall-ui/public/goal-map.html +2 -2
- package/modules/hall-ui/public/goals.html +2 -2
- package/modules/hall-ui/public/gov-feeds.js +141 -0
- package/modules/hall-ui/public/gov-living.js +1002 -0
- package/modules/hall-ui/public/gov-positions.js +97 -0
- package/modules/hall-ui/public/government.html +2 -2
- package/modules/hall-ui/public/hall-render.js +3 -0
- package/modules/hall-ui/public/idea.html +2 -2
- package/modules/hall-ui/public/ideas.html +2 -2
- package/modules/hall-ui/public/index.html +3 -3
- package/modules/hall-ui/public/modules.html +2 -2
- package/modules/hall-ui/public/my-agents.css +334 -0
- package/modules/hall-ui/public/my-agents.html +72 -0
- package/modules/hall-ui/public/my-agents.js +603 -0
- package/modules/hall-ui/public/my-agents.states.json +37 -0
- package/modules/hall-ui/public/primer.html +2 -2
- package/modules/hall-ui/public/profile-connections.js +40 -28
- package/modules/hall-ui/public/profile.html +2 -2
- package/modules/hall-ui/public/project-settings.html +2 -2
- package/modules/hall-ui/public/ranks.html +2 -2
- package/modules/hall-ui/public/roadmap.html +2 -2
- package/modules/hall-ui/public/room.css +8 -0
- package/modules/hall-ui/public/roster.html +2 -2
- package/modules/hall-ui/public/sessions.html +2 -2
- package/modules/hall-ui/public/settings.html +2 -2
- package/modules/hall-ui/public/shell.js +116 -16
- package/modules/hall-ui/public/street-card.js +18 -1
- package/modules/hall-ui/public/street-deck.css +299 -0
- package/modules/hall-ui/public/street-deck.js +1145 -0
- package/modules/hall-ui/public/street-depth.js +712 -0
- package/modules/hall-ui/public/street-desk.js +5 -2
- package/modules/hall-ui/public/street-draw.js +109 -16
- package/modules/hall-ui/public/street-inside.js +137 -22
- package/modules/hall-ui/public/street-office.js +705 -0
- package/modules/hall-ui/public/street.css +161 -11
- package/modules/hall-ui/public/street.html +41 -11
- package/modules/hall-ui/public/street.js +78 -66
- package/modules/hall-ui/public/street.states.json +129 -21
- package/modules/hall-ui/public/studio.html +2 -2
- package/modules/hall-ui/public/style.css +5 -1
- package/modules/hall-ui/public/task.html +2 -2
- package/modules/hall-ui/public/thinking.html +2 -2
- package/modules/hall-ui/public/tweak-editor.html +2 -2
- package/modules/hall-ui/public/watch.html +2 -2
- package/modules/hall-ui/public/watch.js +14 -1
- package/modules/hall-ui/public/work.html +2 -2
- package/modules/hall-ui/records/living-city.md +57 -0
- package/modules/hall-ui/records/my-agents.md +21 -0
- package/modules/hall-ui/records/oversight-family.md +1 -0
- package/modules/hall-ui/records/profile-connections.md +10 -0
- package/modules/hall-ui/records/reading-rooms.md +2 -0
- package/modules/ideas/routes/blockers.js +92 -3
- package/modules/lifecycle/module.json +2 -1
- package/modules/lifecycle/moving.js +17 -1
- package/modules/lifecycle/routes/moving.js +6 -0
- package/modules/lifecycle/routes/project-settings.js +23 -0
- package/modules/onboarding/approval-broadcast.js +8 -0
- package/modules/onboarding/routes/access-requests.js +16 -6
- package/modules/platform-identity/connections.js +13 -2
- package/modules/platform-identity/routes/connections.js +7 -1
- package/modules/public-landing/public/account-private.states.json +2 -2
- package/modules/public-landing/public/account.html +65 -5
- package/modules/public-landing/public/account.states.json +3 -3
- package/modules/public-landing/public/assets/world/r2-bongos-chrome-b.jpg.json +1 -1
- package/modules/public-landing/public/assets/world/r2-bongos-chrome-b.webp +0 -0
- package/modules/public-landing/public/assets/world/r2-bongos-chrome-b.webp.json +13 -0
- package/modules/public-landing/public/assets/world/r2-chrome-blob-one.jpg.json +1 -1
- package/modules/public-landing/public/assets/world/r2-chrome-blob-one.webp +0 -0
- package/modules/public-landing/public/assets/world/r2-chrome-blob-one.webp.json +13 -0
- package/modules/public-landing/public/assets/world/r2-chrome-blobs-set.jpg.json +1 -1
- package/modules/public-landing/public/assets/world/r2-chrome-blobs-set.webp +0 -0
- package/modules/public-landing/public/assets/world/r2-chrome-blobs-set.webp.json +13 -0
- package/modules/public-landing/public/assets/world.css +4 -4
- package/modules/public-landing/public/connections-empty.states.json +14 -0
- package/modules/public-landing/public/connections-inactive.states.json +14 -0
- package/modules/public-landing/public/connections.html +450 -0
- package/modules/public-landing/public/connections.probes.json +414 -0
- package/modules/public-landing/public/connections.states.json +17 -0
- package/modules/public-landing/public/contact.html +2 -2
- package/modules/public-landing/public/guild.html +2 -2
- package/modules/public-landing/public/index.html +2 -2
- package/modules/public-landing/public/invitations.html +2 -2
- package/modules/public-landing/public/privacy.html +2 -2
- package/modules/public-landing/public/projects-hall-live.states.json +0 -5
- package/modules/public-landing/public/projects.html +169 -6
- package/modules/public-landing/public/projects.probes.json +10 -6
- package/modules/public-landing/public/projects.states.json +13 -13
- package/modules/public-landing/public/terms.html +2 -2
- package/modules/ui-design/kit/fixtures/connections-empty.json +12 -0
- package/modules/ui-design/kit/fixtures/connections-inactive.json +7 -0
- package/modules/ui-design/kit/fixtures/connections.json +22 -0
- package/modules/ui-design/kit/serve.js +95 -0
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/release-notes.json +128 -0
- package/scripts/discord/README.md +8 -5
- package/scripts/discord/post.js +12 -1
- package/scripts/gds/artifact-audit.js +20 -3
- package/scripts/gds/ask.js +164 -0
- package/scripts/gds/autobongos-verify.js +21 -2
- package/scripts/gds/government-walk.js +638 -4
- package/scripts/gds/pulse.js +9 -6
- package/scripts/gds/ship-escalation.js +22 -3
- package/scripts/gds/ship-finish.js +5 -4
- package/scripts/gds/ship-merge-gate.js +18 -6
- package/scripts/hall-preview/README.md +41 -1
- package/scripts/hall-preview/pref-writes.js +140 -0
- package/scripts/hall-preview/refresh-fixtures.js +101 -7
- package/scripts/hall-preview/scrub-identity.js +366 -7
- package/scripts/hall-preview/server.js +27 -1
- package/scripts/render-diagrams.sh +4 -2
- package/src/bongos/auth-idp.js +6 -1
- package/src/bongos/project-settings.js +41 -0
- package/src/bongos/route-rank-check.js +27 -0
- package/src/bongos/routes/me.js +68 -7
- package/src/bongos/serve-internal.js +5 -1
- package/src/module-api.js +7 -1
- package/src/platform-server.js +10 -0
- package/tests/application_lifecycle.mjs +47 -5
- package/tests/conductor_main_e2e.mjs +21 -0
- package/tests/connections_api.mjs +18 -0
- package/tests/craft_mode_nav.mjs +5 -3
- package/tests/craft_mode_tallies.mjs +52 -16
- package/tests/discord_approvals.mjs +11 -0
- package/tests/discord_channels.mjs +20 -0
- package/tests/fixtures/gov-seated.mjs +64 -0
- package/tests/fixtures/government-ask-cards.json +1284 -0
- package/tests/government_act_alone_buildings.mjs +1 -0
- package/tests/government_agent_asks.mjs +322 -0
- package/tests/government_asks.mjs +408 -0
- package/tests/government_build_rights.mjs +253 -0
- package/tests/government_buildouts.mjs +382 -0
- package/tests/government_counts.mjs +143 -0
- package/tests/government_decision_rules.mjs +5 -1
- package/tests/government_laws.mjs +488 -0
- package/tests/government_laws_session.mjs +321 -0
- package/tests/government_leads.mjs +375 -0
- package/tests/government_positions.mjs +127 -0
- package/tests/government_presets.mjs +215 -0
- package/tests/government_routes.mjs +8 -1
- package/tests/government_routing.mjs +118 -0
- package/tests/government_seed.mjs +5 -0
- package/tests/government_treasury.mjs +394 -0
- package/tests/governor_docket.mjs +26 -2
- package/tests/hall_buildouts.mjs +208 -0
- package/tests/hall_city.mjs +14 -6
- package/tests/hall_city_living.mjs +617 -0
- package/tests/hall_gov_counts.mjs +336 -0
- package/tests/hall_gov_living.mjs +636 -0
- package/tests/hall_gov_real_site.mjs +655 -0
- package/tests/hall_matter_card.mjs +6 -1
- package/tests/hall_my_agents.mjs +481 -0
- package/tests/hall_nav.mjs +107 -4
- package/tests/hall_page_gate_map.mjs +4 -0
- package/tests/hall_preview_governor_fixtures.mjs +30 -3
- package/tests/hall_preview_scrub.mjs +59 -1
- package/tests/hall_preview_security.mjs +169 -0
- package/tests/hall_reading_world.mjs +44 -0
- package/tests/hall_roster_world.mjs +6 -2
- package/tests/hall_street.mjs +18 -2
- package/tests/hall_street_amend.mjs +1 -1
- package/tests/hall_street_deck.mjs +609 -0
- package/tests/hall_street_depth.mjs +559 -0
- package/tests/hall_street_desk.mjs +1 -1
- package/tests/hall_street_inside.mjs +29 -5
- package/tests/hall_tweak_editor.mjs +4 -1
- package/tests/hub_account_page.mjs +94 -3
- package/tests/hub_connections_page.mjs +507 -0
- package/tests/hub_invite_badge.mjs +1 -1
- package/tests/idp_device_exchange.mjs +18 -0
- package/tests/landing_legal_pages.mjs +8 -5
- package/tests/landing_page.mjs +23 -4
- package/tests/nav_permission_atoms.mjs +4 -1
- package/tests/profile_connections_ui.mjs +88 -25
- package/tests/projects_hub.mjs +15 -0
- package/tests/projects_hub_pre_uat.mjs +4 -2
- package/tests/render_check.mjs +2 -2
- package/tests/ship_broadcast_routing.mjs +57 -16
- package/tests/ship_broadcast_server.mjs +40 -7
- package/tests/ship_merge_gate.mjs +19 -0
- package/tests/ui_design_kit.mjs +2 -2
- package/tests/watch_applications_queue.mjs +23 -0
- package/tests/wizard_physics.mjs +1 -1
- package/tests/wizard_physics_more.mjs +133 -0
|
@@ -0,0 +1,414 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_": "The connections page’s interaction contract for modules/ui-design/kit/probe.js (task 1004278): the door signed out, the bar’s current place, then one sequence over the stub’s held graph — accept, decline, withdraw, remove, Connect on a builder you may know, and asking by handle with each refusal the route can give.",
|
|
3
|
+
"page": "/connections",
|
|
4
|
+
"surface": "public-landing",
|
|
5
|
+
"probes": [
|
|
6
|
+
{
|
|
7
|
+
"name": "connections signed out: the door, and no lists",
|
|
8
|
+
"auth": false,
|
|
9
|
+
"width": 1440,
|
|
10
|
+
"steps": [
|
|
11
|
+
[
|
|
12
|
+
"wait",
|
|
13
|
+
300
|
|
14
|
+
]
|
|
15
|
+
],
|
|
16
|
+
"expect": {
|
|
17
|
+
"visible": [
|
|
18
|
+
"#door",
|
|
19
|
+
"#signin"
|
|
20
|
+
],
|
|
21
|
+
"hidden": [
|
|
22
|
+
"#connBody"
|
|
23
|
+
],
|
|
24
|
+
"href": [
|
|
25
|
+
[
|
|
26
|
+
"#signin",
|
|
27
|
+
"/api/bongos/auth/web/start?return=/connections&repos=1"
|
|
28
|
+
]
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "connections signed in: the profile band names this page as the current place",
|
|
34
|
+
"auth": true,
|
|
35
|
+
"width": 1440,
|
|
36
|
+
"steps": [
|
|
37
|
+
[
|
|
38
|
+
"wait",
|
|
39
|
+
600
|
|
40
|
+
],
|
|
41
|
+
[
|
|
42
|
+
"click",
|
|
43
|
+
"#who"
|
|
44
|
+
],
|
|
45
|
+
[
|
|
46
|
+
"wait",
|
|
47
|
+
150
|
|
48
|
+
]
|
|
49
|
+
],
|
|
50
|
+
"expect": {
|
|
51
|
+
"open": "#menuProfile",
|
|
52
|
+
"count": [
|
|
53
|
+
[
|
|
54
|
+
"#menuProfile a[aria-current=\"page\"]",
|
|
55
|
+
1
|
|
56
|
+
]
|
|
57
|
+
],
|
|
58
|
+
"text": [
|
|
59
|
+
[
|
|
60
|
+
"#menuProfile a[aria-current=\"page\"]",
|
|
61
|
+
"Connections"
|
|
62
|
+
]
|
|
63
|
+
]
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"name": "connections: Accept turns a request into a connection, and the page re-reads",
|
|
68
|
+
"continue": true,
|
|
69
|
+
"steps": [
|
|
70
|
+
[
|
|
71
|
+
"press",
|
|
72
|
+
"Escape"
|
|
73
|
+
],
|
|
74
|
+
[
|
|
75
|
+
"click",
|
|
76
|
+
"#incomingList .mineRow:first-child .btn:not(.ghost)"
|
|
77
|
+
],
|
|
78
|
+
[
|
|
79
|
+
"wait",
|
|
80
|
+
300
|
|
81
|
+
]
|
|
82
|
+
],
|
|
83
|
+
"expect": {
|
|
84
|
+
"hasClass": [
|
|
85
|
+
[
|
|
86
|
+
"#connMsg",
|
|
87
|
+
"ok"
|
|
88
|
+
]
|
|
89
|
+
],
|
|
90
|
+
"text": [
|
|
91
|
+
[
|
|
92
|
+
"#connMsg",
|
|
93
|
+
"Connected."
|
|
94
|
+
],
|
|
95
|
+
[
|
|
96
|
+
"#connCount",
|
|
97
|
+
"4 connections."
|
|
98
|
+
],
|
|
99
|
+
[
|
|
100
|
+
"#connList .mineRow:first-child .mineRow__name",
|
|
101
|
+
"Priya Nair"
|
|
102
|
+
]
|
|
103
|
+
],
|
|
104
|
+
"count": [
|
|
105
|
+
[
|
|
106
|
+
"#incomingList .mineRow",
|
|
107
|
+
1
|
|
108
|
+
]
|
|
109
|
+
]
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"name": "connections: Decline is silent to the asker, and the asking section folds when empty",
|
|
114
|
+
"continue": true,
|
|
115
|
+
"steps": [
|
|
116
|
+
[
|
|
117
|
+
"click",
|
|
118
|
+
"#incomingList .mineRow:first-child .ghost"
|
|
119
|
+
],
|
|
120
|
+
[
|
|
121
|
+
"wait",
|
|
122
|
+
300
|
|
123
|
+
]
|
|
124
|
+
],
|
|
125
|
+
"expect": {
|
|
126
|
+
"text": [
|
|
127
|
+
[
|
|
128
|
+
"#connMsg",
|
|
129
|
+
"Declined. They are not told."
|
|
130
|
+
]
|
|
131
|
+
],
|
|
132
|
+
"hidden": [
|
|
133
|
+
"#connAsks"
|
|
134
|
+
]
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"name": "connections: Withdraw cancels a request you sent",
|
|
139
|
+
"continue": true,
|
|
140
|
+
"steps": [
|
|
141
|
+
[
|
|
142
|
+
"click",
|
|
143
|
+
"#outgoingList .mineRow:first-child .ghost"
|
|
144
|
+
],
|
|
145
|
+
[
|
|
146
|
+
"wait",
|
|
147
|
+
300
|
|
148
|
+
]
|
|
149
|
+
],
|
|
150
|
+
"expect": {
|
|
151
|
+
"text": [
|
|
152
|
+
[
|
|
153
|
+
"#connMsg",
|
|
154
|
+
"Request withdrawn."
|
|
155
|
+
]
|
|
156
|
+
],
|
|
157
|
+
"hidden": [
|
|
158
|
+
"#sentH"
|
|
159
|
+
],
|
|
160
|
+
"count": [
|
|
161
|
+
[
|
|
162
|
+
"#outgoingList .mineRow",
|
|
163
|
+
0
|
|
164
|
+
]
|
|
165
|
+
]
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"name": "connections: Remove ends a connection",
|
|
170
|
+
"continue": true,
|
|
171
|
+
"steps": [
|
|
172
|
+
[
|
|
173
|
+
"click",
|
|
174
|
+
"#connList .mineRow:first-child .ghost"
|
|
175
|
+
],
|
|
176
|
+
[
|
|
177
|
+
"wait",
|
|
178
|
+
300
|
|
179
|
+
]
|
|
180
|
+
],
|
|
181
|
+
"expect": {
|
|
182
|
+
"text": [
|
|
183
|
+
[
|
|
184
|
+
"#connMsg",
|
|
185
|
+
"Connection removed."
|
|
186
|
+
],
|
|
187
|
+
[
|
|
188
|
+
"#connCount",
|
|
189
|
+
"3 connections."
|
|
190
|
+
]
|
|
191
|
+
]
|
|
192
|
+
}
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"name": "connections: Connect on a builder you may know sends the request; they leave the suggestions and join what you sent",
|
|
196
|
+
"continue": true,
|
|
197
|
+
"steps": [
|
|
198
|
+
[
|
|
199
|
+
"click",
|
|
200
|
+
"#suggestList .mineRow:first-child .btn"
|
|
201
|
+
],
|
|
202
|
+
[
|
|
203
|
+
"wait",
|
|
204
|
+
300
|
|
205
|
+
]
|
|
206
|
+
],
|
|
207
|
+
"expect": {
|
|
208
|
+
"hasClass": [
|
|
209
|
+
[
|
|
210
|
+
"#connMsg",
|
|
211
|
+
"ok"
|
|
212
|
+
]
|
|
213
|
+
],
|
|
214
|
+
"text": [
|
|
215
|
+
[
|
|
216
|
+
"#connMsg",
|
|
217
|
+
"Request sent."
|
|
218
|
+
],
|
|
219
|
+
[
|
|
220
|
+
"#outgoingList .mineRow:first-child .mineRow__name",
|
|
221
|
+
"Sana Iqbal"
|
|
222
|
+
]
|
|
223
|
+
],
|
|
224
|
+
"count": [
|
|
225
|
+
[
|
|
226
|
+
"#suggestList .mineRow",
|
|
227
|
+
2
|
|
228
|
+
],
|
|
229
|
+
[
|
|
230
|
+
"#outgoingList .mineRow",
|
|
231
|
+
1
|
|
232
|
+
]
|
|
233
|
+
],
|
|
234
|
+
"visible": [
|
|
235
|
+
"#sentH"
|
|
236
|
+
]
|
|
237
|
+
}
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"name": "connections: asking by handle takes an @, sends the note, says Request sent and clears the field",
|
|
241
|
+
"continue": true,
|
|
242
|
+
"steps": [
|
|
243
|
+
[
|
|
244
|
+
"fill",
|
|
245
|
+
"#askHandle",
|
|
246
|
+
"@nadia"
|
|
247
|
+
],
|
|
248
|
+
[
|
|
249
|
+
"fill",
|
|
250
|
+
"#askNote",
|
|
251
|
+
"We met on the Tidepool hall."
|
|
252
|
+
],
|
|
253
|
+
[
|
|
254
|
+
"click",
|
|
255
|
+
"#askBtn"
|
|
256
|
+
],
|
|
257
|
+
[
|
|
258
|
+
"wait",
|
|
259
|
+
300
|
|
260
|
+
]
|
|
261
|
+
],
|
|
262
|
+
"expect": {
|
|
263
|
+
"hasClass": [
|
|
264
|
+
[
|
|
265
|
+
"#askStatus",
|
|
266
|
+
"ok"
|
|
267
|
+
]
|
|
268
|
+
],
|
|
269
|
+
"text": [
|
|
270
|
+
[
|
|
271
|
+
"#askStatus",
|
|
272
|
+
"Request sent."
|
|
273
|
+
]
|
|
274
|
+
],
|
|
275
|
+
"value": [
|
|
276
|
+
[
|
|
277
|
+
"#askHandle",
|
|
278
|
+
""
|
|
279
|
+
],
|
|
280
|
+
[
|
|
281
|
+
"#askNote",
|
|
282
|
+
""
|
|
283
|
+
]
|
|
284
|
+
],
|
|
285
|
+
"count": [
|
|
286
|
+
[
|
|
287
|
+
"#outgoingList .mineRow",
|
|
288
|
+
2
|
|
289
|
+
]
|
|
290
|
+
]
|
|
291
|
+
}
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
"name": "connections: asking again while a request stands is refused in plain words",
|
|
295
|
+
"continue": true,
|
|
296
|
+
"steps": [
|
|
297
|
+
[
|
|
298
|
+
"fill",
|
|
299
|
+
"#askHandle",
|
|
300
|
+
"nadia"
|
|
301
|
+
],
|
|
302
|
+
[
|
|
303
|
+
"click",
|
|
304
|
+
"#askBtn"
|
|
305
|
+
],
|
|
306
|
+
[
|
|
307
|
+
"wait",
|
|
308
|
+
300
|
|
309
|
+
]
|
|
310
|
+
],
|
|
311
|
+
"expect": {
|
|
312
|
+
"hasClass": [
|
|
313
|
+
[
|
|
314
|
+
"#askStatus",
|
|
315
|
+
"err"
|
|
316
|
+
]
|
|
317
|
+
],
|
|
318
|
+
"text": [
|
|
319
|
+
[
|
|
320
|
+
"#askStatus",
|
|
321
|
+
"There is already a request or a connection between you."
|
|
322
|
+
]
|
|
323
|
+
]
|
|
324
|
+
}
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
"name": "connections: an unknown handle gets the one answer a private or inactive one gets",
|
|
328
|
+
"continue": true,
|
|
329
|
+
"steps": [
|
|
330
|
+
[
|
|
331
|
+
"fill",
|
|
332
|
+
"#askHandle",
|
|
333
|
+
"nobody-here"
|
|
334
|
+
],
|
|
335
|
+
[
|
|
336
|
+
"click",
|
|
337
|
+
"#askBtn"
|
|
338
|
+
],
|
|
339
|
+
[
|
|
340
|
+
"wait",
|
|
341
|
+
300
|
|
342
|
+
]
|
|
343
|
+
],
|
|
344
|
+
"expect": {
|
|
345
|
+
"text": [
|
|
346
|
+
[
|
|
347
|
+
"#askStatus",
|
|
348
|
+
"No builder with that handle can be asked right now."
|
|
349
|
+
]
|
|
350
|
+
]
|
|
351
|
+
}
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
"name": "connections: your own handle is refused",
|
|
355
|
+
"continue": true,
|
|
356
|
+
"steps": [
|
|
357
|
+
[
|
|
358
|
+
"fill",
|
|
359
|
+
"#askHandle",
|
|
360
|
+
"builder"
|
|
361
|
+
],
|
|
362
|
+
[
|
|
363
|
+
"click",
|
|
364
|
+
"#askBtn"
|
|
365
|
+
],
|
|
366
|
+
[
|
|
367
|
+
"wait",
|
|
368
|
+
300
|
|
369
|
+
]
|
|
370
|
+
],
|
|
371
|
+
"expect": {
|
|
372
|
+
"text": [
|
|
373
|
+
[
|
|
374
|
+
"#askStatus",
|
|
375
|
+
"That is your own handle."
|
|
376
|
+
]
|
|
377
|
+
]
|
|
378
|
+
}
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
"name": "connections: an empty handle is a question, not a request",
|
|
382
|
+
"continue": true,
|
|
383
|
+
"steps": [
|
|
384
|
+
[
|
|
385
|
+
"fill",
|
|
386
|
+
"#askHandle",
|
|
387
|
+
""
|
|
388
|
+
],
|
|
389
|
+
[
|
|
390
|
+
"click",
|
|
391
|
+
"#askBtn"
|
|
392
|
+
],
|
|
393
|
+
[
|
|
394
|
+
"wait",
|
|
395
|
+
100
|
|
396
|
+
]
|
|
397
|
+
],
|
|
398
|
+
"expect": {
|
|
399
|
+
"hasClass": [
|
|
400
|
+
[
|
|
401
|
+
"#askStatus",
|
|
402
|
+
"err"
|
|
403
|
+
]
|
|
404
|
+
],
|
|
405
|
+
"text": [
|
|
406
|
+
[
|
|
407
|
+
"#askStatus",
|
|
408
|
+
"Type a builder’s handle first."
|
|
409
|
+
]
|
|
410
|
+
]
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
]
|
|
414
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_": "The connections page's states for modules/ui-design/kit/render.js (task 1004278, ADR 0337 D5.4): signed out it is the sign-in door and nothing else; signed in it is the hub's bar (Connections the current place on the profile band) over the four lists, painted from the stub's one connection graph (fixtures/connections.json — two builders asking to connect, one with a note; three connections; three builders you may know, each with the server's own reason; one request sent). Every state here only reads, because the stub holds the graph for the run and the probes write to it. Dark only, like every apex page (ADR 0204). The no-connections page renders from connections-empty.states.json, the not-yet-active profile from connections-inactive.states.json.",
|
|
3
|
+
"page": "/connections",
|
|
4
|
+
"surface": "public-landing",
|
|
5
|
+
"modes": ["dark"],
|
|
6
|
+
"modeQuery": false,
|
|
7
|
+
"ignoreRequests": ["/api/(gds|bongos)/me$", "/my-projects", "/me/guild-"],
|
|
8
|
+
"ignoreConsole": ["/api/(gds|bongos)/me", "\\b401\\b", "Unauthorized"],
|
|
9
|
+
"ignoreControls": [".vh"],
|
|
10
|
+
"states": {
|
|
11
|
+
"out": { "auth": false, "actions": [["wait", 300]], "expect": { "visible": ["#door", "#signin", "#signinTop", "#projTrig"], "hidden": ["#connBody", "#who", "#loading", "#inactive", "#readFailed"] } },
|
|
12
|
+
"in": { "auth": true, "actions": [["wait", 500]], "expect": { "visible": ["#connBody", "#connAsks", "#connSuggest", "#sentH", "#askHandle", "#askBtn", "#who"], "hidden": ["#door", "#loading", "#inactive", "#readFailed", "#menuProfile"], "count": [["#incomingList .mineRow", 2], ["#connList .mineRow", 3], ["#suggestList .mineRow", 3], ["#outgoingList .mineRow", 1]], "text": [["#connCount", "3 connections."], ["#incomingList .mineRow:first-child .mineRow__name", "Priya Nair"], ["#incomingList .mineRow:first-child .connNote", "We were both on the Tidepool hall last month. Good working with you."], ["#suggestList .mineRow:first-child .mineRow__hint", "2 connections in common"], ["#outgoingList .mineRow:first-child .mineRow__hint", "Request sent"]] } },
|
|
13
|
+
"in-profile-band": { "auth": true, "actions": [["wait", 400], ["click", "#who"], ["wait", 300]], "expect": { "visible": ["#menuProfile"], "hidden": ["#menuProjects"], "text": [["#bandWhoLogin", "builder"], ["#menuProfile [aria-current=\"page\"]", "Connections"]] } },
|
|
14
|
+
"in-ask-filled": { "auth": true, "actions": [["wait", 500], ["fill", "#askHandle", "nadia"], ["fill", "#askNote", "We met on the Tidepool hall."]], "expect": { "value": [["#askHandle", "nadia"], ["#askNote", "We met on the Tidepool hall."]] } }
|
|
15
|
+
},
|
|
16
|
+
"reducedMotion": { "auth": true, "actions": [["wait", 300]] }
|
|
17
|
+
}
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
<ul class="bandRow">
|
|
74
74
|
<li class="bandCell"><a class="bandT" href="/projects?view=map">Sky</a><span class="bandC">the sky of every project</span></li>
|
|
75
75
|
<li class="bandCell"><a class="bandT" href="/projects?view=map&sub=table">Table</a><span class="bandC">the same projects as rows</span></li>
|
|
76
|
-
<li class="bandCell" id="mineCell"><a class="bandT" href="/projects?view=mine">Your projects</a><span class="bandC">the ones you own
|
|
76
|
+
<li class="bandCell" id="mineCell"><a class="bandT" href="/projects?view=mine">Your projects</a><span class="bandC">the ones you own</span></li>
|
|
77
77
|
<li class="bandCell"><a class="bandT" href="/projects?view=new">New project</a><span class="bandC">five questions and a home</span></li>
|
|
78
78
|
</ul>
|
|
79
79
|
</div>
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
<li class="bandCell"><a class="bandT" href="/projects?view=mine">My projects</a></li>
|
|
86
86
|
<!-- apex-only because /account is: it is served only where platform-identity
|
|
87
87
|
runs, so a child instance loses the item whole (as on projects.html) -->
|
|
88
|
-
<!--apex-only:start--><li class="bandCell"><a class="bandT" href="/invitations">Invitations</a></li><li class="bandCell"><a class="bandT" href="/account">Account</a></li><!--apex-only:end-->
|
|
88
|
+
<!--apex-only:start--><li class="bandCell"><a class="bandT" href="/invitations">Invitations</a></li><li class="bandCell"><a class="bandT" href="/connections">Connections</a></li><li class="bandCell"><a class="bandT" href="/account">Account</a></li><!--apex-only:end-->
|
|
89
89
|
<!-- the honest hover target; assets/hub-bar.js upgrades the click to the POST -->
|
|
90
90
|
<li class="bandCell"><a class="bandT signout" href="/api/bongos/auth/logout">Sign out</a></li>
|
|
91
91
|
</ul>
|
|
@@ -148,7 +148,7 @@
|
|
|
148
148
|
<ul class="bandRow">
|
|
149
149
|
<li class="bandCell"><a class="bandT" href="/projects?view=map">Sky</a><span class="bandC">the sky of every project</span></li>
|
|
150
150
|
<li class="bandCell"><a class="bandT" href="/projects?view=map&sub=table">Table</a><span class="bandC">the same projects as rows</span></li>
|
|
151
|
-
<li class="bandCell" id="mineCell"><a class="bandT" href="/projects?view=mine">Your projects</a><span class="bandC">the ones you own
|
|
151
|
+
<li class="bandCell" id="mineCell"><a class="bandT" href="/projects?view=mine">Your projects</a><span class="bandC">the ones you own</span></li>
|
|
152
152
|
<li class="bandCell"><a class="bandT" href="/projects?view=new">New project</a><span class="bandC">five questions and a home</span></li>
|
|
153
153
|
</ul>
|
|
154
154
|
</div>
|
|
@@ -158,7 +158,7 @@
|
|
|
158
158
|
<p class="bandWho" id="bandWho"><img id="bandWhoImg" alt="" hidden><span class="whoName" id="bandWhoLogin"></span></p>
|
|
159
159
|
<ul class="bandRow">
|
|
160
160
|
<li class="bandCell"><a class="bandT" href="/projects?view=mine">My projects</a></li>
|
|
161
|
-
<li class="bandCell"><a class="bandT" href="/invitations">Invitations</a></li><li class="bandCell"><a class="bandT" href="/account">Account</a></li>
|
|
161
|
+
<li class="bandCell"><a class="bandT" href="/invitations">Invitations</a></li><li class="bandCell"><a class="bandT" href="/connections">Connections</a></li><li class="bandCell"><a class="bandT" href="/account">Account</a></li>
|
|
162
162
|
<!-- the honest hover target; the delegated click upgrades it to the POST -->
|
|
163
163
|
<li class="bandCell"><a class="bandT signout" href="/api/bongos/auth/logout">Sign out</a></li>
|
|
164
164
|
</ul>
|
|
@@ -702,7 +702,7 @@ composition A; landing composition v3, picked by the owner 2026-08-27. No roll,
|
|
|
702
702
|
<ul class="bandRow">
|
|
703
703
|
<li class="bandCell"><a class="bandT" href="/projects?view=map">Sky</a><span class="bandC">the sky of every project</span></li>
|
|
704
704
|
<li class="bandCell"><a class="bandT" href="/projects?view=map&sub=table">Table</a><span class="bandC">the same projects as rows</span></li>
|
|
705
|
-
<li class="bandCell" id="mineCell" hidden><a class="bandT" href="/projects?view=mine">Your projects</a><span class="bandC">the ones you own
|
|
705
|
+
<li class="bandCell" id="mineCell" hidden><a class="bandT" href="/projects?view=mine">Your projects</a><span class="bandC">the ones you own</span></li>
|
|
706
706
|
<li class="bandCell"><a class="bandT" href="/projects?view=new">New project</a><span class="bandC">five questions and a home</span></li>
|
|
707
707
|
</ul>
|
|
708
708
|
<!-- About and Docs are site pages, not project views: they live in the footer row with
|
|
@@ -718,7 +718,7 @@ composition A; landing composition v3, picked by the owner 2026-08-27. No roll,
|
|
|
718
718
|
account page, where the person's own settings live (ADR 0337 D4.3).
|
|
719
719
|
Apex-only because the page is — /account is served only where
|
|
720
720
|
platform-identity runs, so a child instance loses the item whole. -->
|
|
721
|
-
<!--apex-only:start--><li class="bandCell"><a class="bandT" href="/invitations">Invitations</a></li><li class="bandCell"><a class="bandT" href="/account">Account</a></li><!--apex-only:end-->
|
|
721
|
+
<!--apex-only:start--><li class="bandCell"><a class="bandT" href="/invitations">Invitations</a></li><li class="bandCell"><a class="bandT" href="/connections">Connections</a></li><li class="bandCell"><a class="bandT" href="/account">Account</a></li><!--apex-only:end-->
|
|
722
722
|
<!-- the honest hover target; the script upgrades the click to the POST -->
|
|
723
723
|
<li class="bandCell"><a class="bandT signout" href="/api/bongos/auth/logout">Sign out</a></li>
|
|
724
724
|
</ul>
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
<ul class="bandRow">
|
|
104
104
|
<li class="bandCell"><a class="bandT" href="/projects?view=map">Sky</a><span class="bandC">the sky of every project</span></li>
|
|
105
105
|
<li class="bandCell"><a class="bandT" href="/projects?view=map&sub=table">Table</a><span class="bandC">the same projects as rows</span></li>
|
|
106
|
-
<li class="bandCell" id="mineCell"><a class="bandT" href="/projects?view=mine">Your projects</a><span class="bandC">the ones you own
|
|
106
|
+
<li class="bandCell" id="mineCell"><a class="bandT" href="/projects?view=mine">Your projects</a><span class="bandC">the ones you own</span></li>
|
|
107
107
|
<li class="bandCell"><a class="bandT" href="/projects?view=new">New project</a><span class="bandC">five questions and a home</span></li>
|
|
108
108
|
</ul>
|
|
109
109
|
</div>
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
<p class="bandWho" id="bandWho"><img id="bandWhoImg" alt="" hidden><span class="whoName" id="bandWhoLogin"></span></p>
|
|
114
114
|
<ul class="bandRow">
|
|
115
115
|
<li class="bandCell"><a class="bandT" href="/projects?view=mine">My projects</a></li>
|
|
116
|
-
<li class="bandCell"><a class="bandT" href="/invitations" aria-current="page">Invitations</a></li><li class="bandCell"><a class="bandT" href="/account">Account</a></li>
|
|
116
|
+
<li class="bandCell"><a class="bandT" href="/invitations" aria-current="page">Invitations</a></li><li class="bandCell"><a class="bandT" href="/connections">Connections</a></li><li class="bandCell"><a class="bandT" href="/account">Account</a></li>
|
|
117
117
|
<!-- the honest hover target; the delegated click upgrades it to the POST -->
|
|
118
118
|
<li class="bandCell"><a class="bandT signout" href="/api/bongos/auth/logout">Sign out</a></li>
|
|
119
119
|
</ul>
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
<ul class="bandRow">
|
|
73
73
|
<li class="bandCell"><a class="bandT" href="/projects?view=map">Sky</a><span class="bandC">the sky of every project</span></li>
|
|
74
74
|
<li class="bandCell"><a class="bandT" href="/projects?view=map&sub=table">Table</a><span class="bandC">the same projects as rows</span></li>
|
|
75
|
-
<li class="bandCell" id="mineCell"><a class="bandT" href="/projects?view=mine">Your projects</a><span class="bandC">the ones you own
|
|
75
|
+
<li class="bandCell" id="mineCell"><a class="bandT" href="/projects?view=mine">Your projects</a><span class="bandC">the ones you own</span></li>
|
|
76
76
|
<li class="bandCell"><a class="bandT" href="/projects?view=new">New project</a><span class="bandC">five questions and a home</span></li>
|
|
77
77
|
</ul>
|
|
78
78
|
</div>
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
<li class="bandCell"><a class="bandT" href="/projects?view=mine">My projects</a></li>
|
|
85
85
|
<!-- apex-only because /account is: it is served only where platform-identity
|
|
86
86
|
runs, so a child instance loses the item whole (as on projects.html) -->
|
|
87
|
-
<!--apex-only:start--><li class="bandCell"><a class="bandT" href="/invitations">Invitations</a></li><li class="bandCell"><a class="bandT" href="/account">Account</a></li><!--apex-only:end-->
|
|
87
|
+
<!--apex-only:start--><li class="bandCell"><a class="bandT" href="/invitations">Invitations</a></li><li class="bandCell"><a class="bandT" href="/connections">Connections</a></li><li class="bandCell"><a class="bandT" href="/account">Account</a></li><!--apex-only:end-->
|
|
88
88
|
<!-- the honest hover target; assets/hub-bar.js upgrades the click to the POST -->
|
|
89
89
|
<li class="bandCell"><a class="bandT signout" href="/api/bongos/auth/logout">Sign out</a></li>
|
|
90
90
|
</ul>
|