@bongos/core 1.20.83 → 1.21.1

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.
Files changed (73) hide show
  1. package/.bongos-core.json +151 -61
  2. package/clients/bongos-client/README.md +1 -1
  3. package/clients/bongos-client/bongos-client.global.js +4 -0
  4. package/clients/bongos-client/index.cjs +4 -0
  5. package/clients/bongos-client/index.d.ts +7 -0
  6. package/clients/bongos-client/index.mjs +4 -0
  7. package/docs/adr/0051-full-session-transcript-corpus.md +3 -1
  8. package/docs/adr/0361-merges-publish-as-candidates-release-decides-what-others-are-offered.md +3 -3
  9. package/docs/adr/README.md +1 -1
  10. package/docs/api/openapi.json +153 -4
  11. package/docs/api-reference.md +5 -3
  12. package/docs/architecture.md +3 -0
  13. package/docs/copy-inventory.md +10 -10
  14. package/docs/copy-registry.json +12 -12
  15. package/docs/design/project-startup-direction.md +63 -0
  16. package/docs/file-map.md +2 -0
  17. package/docs/module-api-changelog.md +6 -0
  18. package/docs/page-inventory.json +8 -3
  19. package/docs/page-readings.json +382 -373
  20. package/docs/recipes/private-npm-distribution.md +1 -1
  21. package/migrations/core_269_session_transcripts.sql +35 -0
  22. package/modules/hall-ui/public/genesis-home.js +17 -3
  23. package/modules/hall-ui/public/index-genesis-demo.states.json +13 -0
  24. package/modules/lifecycle/workflow-dispatch.js +21 -11
  25. package/modules/npm-release/release.js +10 -1
  26. package/modules/onboarding/founding-birth.js +116 -0
  27. package/modules/onboarding/genesis-home.js +72 -5
  28. package/modules/onboarding/port.js +9 -2
  29. package/modules/onboarding/routes/onboarding.js +8 -1
  30. package/modules/provisioning/birth.js +64 -0
  31. package/modules/provisioning/dns-resolves.js +54 -0
  32. package/modules/provisioning/migrations/provisioning_036_dns_resolved.sql +30 -0
  33. package/modules/provisioning/pollers/liveness-sweep.js +5 -0
  34. package/modules/provisioning/provisioning.js +7 -6
  35. package/modules/provisioning/routes/provisioning.js +6 -2
  36. package/modules/provisioning/tests/liveness.mjs +48 -0
  37. package/modules/public-landing/public/projects-dns-pending.states.json +85 -0
  38. package/modules/public-landing/public/projects.html +40 -15
  39. package/modules/sessions/db.js +58 -0
  40. package/modules/sessions/routes/sessions.js +97 -0
  41. package/modules/ui-design/kit/fixtures/founding-genesis-demo.json +176 -0
  42. package/modules/ui-design/kit/fixtures/me-founding-demo.json +27 -0
  43. package/modules/ui-design/kit/fixtures/provisioning-instances-demo.json +3 -0
  44. package/modules/ui-design/kit/fixtures/provisioning-instances-dns-pending.json +49 -0
  45. package/modules/ui-design/kit/fixtures/provisioning-instances.json +3 -0
  46. package/package-lock.json +2 -2
  47. package/package.json +1 -1
  48. package/release-notes.json +35 -0
  49. package/scripts/gds/provision.js +77 -53
  50. package/scripts/gds/session-digest.js +11 -3
  51. package/scripts/gds/session-transcript-build.js +155 -0
  52. package/scripts/gds/session-transcript-upload.js +29 -0
  53. package/scripts/gds/ship-session-upload.js +6 -1
  54. package/scripts/gds/upgrade-commit-identity.js +32 -0
  55. package/scripts/gds/upgrade.js +1 -1
  56. package/src/bongos/routes.js +3 -0
  57. package/src/branding.js +9 -0
  58. package/src/module-api.js +1 -1
  59. package/tests/founding_birth.mjs +200 -0
  60. package/tests/founding_mode.mjs +3 -1
  61. package/tests/genesis_home.mjs +71 -2
  62. package/tests/hub_map_orb_states.mjs +5 -1
  63. package/tests/npm_release_release.mjs +37 -2
  64. package/tests/projects_hub.mjs +5 -3
  65. package/tests/projects_hub_dns_ready.mjs +153 -0
  66. package/tests/projects_hub_pre_uat.mjs +9 -5
  67. package/tests/provision_dns_first.mjs +171 -0
  68. package/tests/provision_settings_apply.mjs +6 -1
  69. package/tests/provisioning_settings_env.mjs +49 -0
  70. package/tests/session_transcript.mjs +273 -0
  71. package/tests/ui_design_kit.mjs +1 -1
  72. package/tests/upgrade_commit_identity.mjs +89 -0
  73. package/tests/wizard_demo.mjs +29 -3
@@ -10,6 +10,69 @@ This document is what every build task in goal 1000121 cites. Name a screen by i
10
10
  - **what the new design ADDS**;
11
11
  - the decisions that govern both.
12
12
 
13
+ ## The blended flow — supersedes the hub-side screens (owner, 2026-10-01)
14
+
15
+ > *Go for this as the design of record.* — the owner, approving the blended mockup (task 1004515).
16
+
17
+ The first build put the new startup screens and the old create wizard back to back: fourteen panels, a ten-step progress rail, a planet that changed material at every answer. The owner asked for one flow, less text, no progress bar, and subtle lofi art. The mockup in [`mocks/combined-onboarding/`](mocks/combined-onboarding/README.md) is now the design of record for **every hub-side screen**. Where it disagrees with the front door, route 1, route 2 part 1 and the coordinates/look/birth tables below, the mockup wins. Genesis (part 2) and the blend rule are unchanged.
18
+
19
+ ### The six screens
20
+
21
+ | # | Screen | What it folds together |
22
+ |---|---|---|
23
+ | 1 | Sign in | Today's gate, unchanged. |
24
+ | 2 | Demo or real project | The fork, with the terms as one required checkbox on it. The terms version stamp still records the acceptance. |
25
+ | 3 | What are you making? | Name, kind, and an optional one-sentence description. |
26
+ | 4 | A few quick checks | Country and state or province, where builders will be, anyone under 18, who is behind it. |
27
+ | 5 | Check what we set up | Every prefilled answer as a row: code home, address, app hosting, extras, rewards, how much we run, team size. |
28
+ | 6 | Give it a look → Create | The look picker, with logo and night tint, and a one-line recap. |
29
+ | — | Alive | The done panel, leading into genesis. |
30
+
31
+ **No progress rail.** The ten-step rail and the seven-question inner rail go. Back stays, and a small eyebrow names where you are.
32
+
33
+ **The review must not be skippable.** On screen 5 each row has **Looks right** and **Change**. Change opens the real control in place, and choosing in it confirms the row. Continue reads "Confirm N more" and stays locked until every row is confirmed.
34
+
35
+ **Voice (changes D5).** Plain project words for everyone. Planet words survive only as a light touch: the fork ("You're about to start a digital planet") and the alive moment.
36
+
37
+ **Art (replaces "The planet as a system" for the hub).** The studio's lofi night room in its own palette: a window with moon, stars and city lights, the floor, lamp glow, mug and plant, and a soft grain. The chrome seed hangs in the window sky and grows a little on each screen, so the alive screen is the next frame of the same picture. Motion is a slow twinkle, a lamp-glow breathe and a seed float, all off under reduced motion and the kill switch. The nebula field plate, the changing planet materials, rings, moons, ghost beads, sun tether and guard ring leave the wizard.
38
+
39
+ ### Nothing the live wizard does is lost
40
+
41
+ The mockup draws the simple path. Every live capability stays, as a reveal (shown only when an answer calls for it) or behind a row's Change:
42
+
43
+ | Today | In the blended flow |
44
+ |---|---|
45
+ | Q1 new or existing, and what already exists | Screen 5's code row: "A repo I already have" reveals what already exists and the adopt path. |
46
+ | Adopt: GitHub repo picker, manual fallback, conflict pre-flight, backlog import | Behind the code row's Change, unchanged. |
47
+ | Q2 geography | Screen 4, with state or province beside country. |
48
+ | Q3 under-18s and the age tiers | Screen 4; "Yes" reveals the tiers and the guardian rules. |
49
+ | Q4 entity, new intent or existing legal type | Screen 4's "who is behind it"; a company or nonprofit reveals the full entity list. |
50
+ | The screening stop | Unchanged: an answer the platform cannot serve still stops the flow before anything is created. |
51
+ | Q5 one or many, count, growth guess | Screen 5's team size row. The About step's "who's building it" merges into it. |
52
+ | Q6 rewards | Screen 5's rewards row (pick several). |
53
+ | Q7 framing A–D and the hybrid suite | Screen 5's "we run" row; "Some of it" reveals the service checklist. |
54
+ | Auto-fill from my account | Kept, as an offer at the top of screen 3 when the account has a last project. |
55
+ | Resume a saved draft | Kept, on the fork. |
56
+ | Type and About | Screen 3. |
57
+ | Modules picker and search | Screen 5's extras row; Change opens the searchable picker. |
58
+ | Address: handle, own domain, no address | Screen 5's address row (PS19: shown and confirmed on every path, the demo included). |
59
+ | App: Render key check, workspace, runtime, commands, plan, database | Screen 5's app hosting row; Render opens today's settings. |
60
+ | Look, logo, night tint | Screen 6. |
61
+ | Review | Folded into screen 5 and screen 6's recap. |
62
+ | Done: standup strip, the owner-only steps, invite | The alive screen. The owner-only steps stay ahead of the genesis door; the invite box appears only once the hall is live (PS15). |
63
+ | Demo: fit check, settings, teammates, 30-day notice | One demo screen, then screens 3–6 marked "demo". The settings appear as screen 5's rows. |
64
+
65
+ ### Who builds it
66
+
67
+ | Task | Builds |
68
+ |---|---|
69
+ | PS16 (1004504) | Plain wording everywhere and no progress rail. |
70
+ | PS21 (1004516) | The fold into six screens, the locked review, every reveal above. |
71
+ | PS22 (1004517) | The lofi night room art. |
72
+ | PS19 (1004507) | The address is chosen on every path before Create. |
73
+ | PS15 (1004503) | The invite box only once the hall is live. |
74
+ | PS18 (1004506) | Birth into genesis; the alive screen's door. |
75
+
13
76
  ## The blend rule — read this first (owner, 2026-09-30)
14
77
 
15
78
  > *No UI battle between existing and new. Build the prototype's design, then blend it where needed with existing design. Don't hijack the builders hall.*
package/docs/file-map.md CHANGED
@@ -162,6 +162,8 @@
162
162
  │ ├── local-preview-lib.js ← core of the local sandbox launcher (detached `node src/preview-server.js`, pid/health/port mgmt); shared by local-preview.js + sandbox-stage.js (task 1056)
163
163
  │ ├── dev.js ← `bongos dev`: one-command LOCAL launcher for a standalone instance (Postgres → createdb → migrate → server on the branding port → sign-in); up/stop/status (ADR 0149)
164
164
  │ ├── dev-lib.js ← pure + injectable core of `bongos dev` (branding→port/db/env resolution, managed detached server pid/health); unit-tested by tests/dev_lib.mjs (ADR 0149)
165
+ │ ├── session-transcript-build.js ← PURE full-transcript builder (ADR 0051): prompts, replies, tool calls + results, every string scrubbed, size-capped
166
+ │ ├── session-transcript-upload.js ← sends it (PUT /sessions/:sid/transcript) from the SessionEnd hook and the on-ship upload
165
167
  │ ├── session-eval.js ← BFG session-inefficiency analysis engine (6D.3): classify turns, compute ceremony-vs-work, detect footguns, file systemic findings (ADR 0027)
166
168
  │ ├── linkify-refs.js ← rewrite bare `#NNN` task refs across ALL docs → status-dashboard permalinks (stops GitHub's PR/issue autolinker mis-linking them); conservative classifier, token-free id list via /public/ref-ids; --apply / --check (CI gate: tests/linkify_check.mjs, in the required `unit` check) / --dry-run default ([#604](https://example.com/builders#/task/604), [#653](https://example.com/builders#/task/653)).
167
169
  │ ├── release.js ← resolve claim as abandoned (`/builder-release`)
@@ -2823,5 +2823,11 @@ is load-bearing: the script throws rather than guess if it is missing, and
2823
2823
  landed since 1.20.81 with no explicit bump. run 36932856805. (task 1002620)
2824
2824
  1.20.83 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
2825
2825
  landed since 1.20.82 with no explicit bump. run 36935503851. (task 1002620)
2826
+ 1.21.0 — no new doorway export. A deliberate MINOR, owner-requested
2827
+ 2026-10-01, to prove a step-up release lands unattended on a project
2828
+ whose /deploy update rule is `minor` (task 1004521, for the proof task
2829
+ 1004451; ADR 0357). Patch-channel projects stay on 1.20.x.
2830
+ 1.21.1 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
2831
+ landed since 1.21.0 with no explicit bump. run 36939799122. (task 1002620)
2826
2832
  ---------------------------------------------------------------------------
2827
2833
  ```
@@ -13,7 +13,7 @@
13
13
  "pages": 40,
14
14
  "surfaces": 3,
15
15
  "with_states": 33,
16
- "states": 219
16
+ "states": 222
17
17
  },
18
18
  "surfaces": [
19
19
  {
@@ -523,7 +523,8 @@
523
523
  "modules/hall-ui/public/index.states.json",
524
524
  "modules/hall-ui/public/index-founding.states.json",
525
525
  "modules/hall-ui/public/index-genesis.states.json",
526
- "modules/hall-ui/public/index-genesis-decide.states.json"
526
+ "modules/hall-ui/public/index-genesis-decide.states.json",
527
+ "modules/hall-ui/public/index-genesis-demo.states.json"
527
528
  ],
528
529
  "states": [
529
530
  "home",
@@ -532,7 +533,8 @@
532
533
  "out",
533
534
  "founding",
534
535
  "genesis",
535
- "decide"
536
+ "decide",
537
+ "demo"
536
538
  ]
537
539
  },
538
540
  {
@@ -1226,6 +1228,7 @@
1226
1228
  "states_files": [
1227
1229
  "modules/public-landing/public/projects.states.json",
1228
1230
  "modules/public-landing/public/projects-demo.states.json",
1231
+ "modules/public-landing/public/projects-dns-pending.states.json",
1229
1232
  "modules/public-landing/public/projects-empty.states.json",
1230
1233
  "modules/public-landing/public/projects-floor.states.json"
1231
1234
  ],
@@ -1294,6 +1297,8 @@
1294
1297
  "card-noart",
1295
1298
  "card-self",
1296
1299
  "in-manage-demo",
1300
+ "in-mine-dns-pending",
1301
+ "in-manage-dns-pending",
1297
1302
  "in-mine-empty",
1298
1303
  "card-floor",
1299
1304
  "card-backdrop"