@bongos/core 1.19.512 → 1.19.514

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 (42) hide show
  1. package/.bongos-core.json +77 -42
  2. package/clients/bongos-client/README.md +1 -1
  3. package/clients/bongos-client/bongos-client.global.js +2 -0
  4. package/clients/bongos-client/index.cjs +2 -0
  5. package/clients/bongos-client/index.d.ts +3 -0
  6. package/clients/bongos-client/index.mjs +2 -0
  7. package/docs/adr/0182-project-visibility-two-axes.md +2 -0
  8. package/docs/adr/0239-a-recommendation-is-a-table-that-carries-its-own-reason.md +177 -0
  9. package/docs/adr/README.md +1 -0
  10. package/docs/api/openapi.json +41 -4
  11. package/docs/api-reference.md +4 -3
  12. package/docs/copy-inventory.md +36 -35
  13. package/docs/copy-registry.json +93 -74
  14. package/docs/module-api-changelog.md +4 -0
  15. package/modules/dev-box/app/src/vendor/bongos-client.cjs +2 -0
  16. package/modules/hall-ui/public/hall-kit.js +309 -0
  17. package/modules/hall-ui/public/hall-render.js +10 -38
  18. package/modules/hall-ui/public/profile-charts.js +58 -65
  19. package/modules/hall-ui/public/profile.css +9 -18
  20. package/modules/hall-ui/public/style.css +101 -15
  21. package/modules/hall-ui/public/watch.css +6 -14
  22. package/modules/hall-ui/public/watch.html +1 -1
  23. package/modules/hall-ui/public/watch.js +139 -54
  24. package/modules/platform-identity/platform-identity.js +24 -20
  25. package/modules/platform-identity/projects-feed.js +142 -0
  26. package/modules/platform-identity/routes/projects.js +27 -8
  27. package/modules/platform-identity/tests/platform-identity.mjs +9 -5
  28. package/modules/provisioning/recommendations.js +260 -0
  29. package/modules/provisioning/routes/provisioning.js +29 -0
  30. package/package-lock.json +2 -2
  31. package/package.json +1 -1
  32. package/src/module-api.js +1 -1
  33. package/tests/hall_audit.mjs +84 -0
  34. package/tests/hall_kit_charts.mjs +328 -0
  35. package/tests/hall_profile_world.mjs +27 -6
  36. package/tests/helpers.mjs +161 -0
  37. package/tests/joinability_invite_only.mjs +10 -2
  38. package/tests/projects_hub.mjs +5 -1
  39. package/tests/provisioning_recommendations.mjs +448 -0
  40. package/tests/task_detail_ui.mjs +1 -153
  41. package/tests/visible_projects_feed.mjs +320 -0
  42. package/tests/watch_applications_queue.mjs +381 -0
@@ -326,5 +326,6 @@ This keeps the decision history honest and traceable.
326
326
  | 0236 | [**Many ideas → one task: the lineage key is the pair** ([task 1003515](https://cloudbongos.com/builders#/task/1003515) · goal 1000071, "Idea routing" — promoted from idea 1000815; the table was built by [task 1002997](https://cloudbongos.com/builders#/task/1002997)). `ideas_task_lineage.task_id` was the PRIMARY KEY on the reasoning that "a task descends from at most one idea", and `linkIdeaTask` wrote `ON CONFLICT (task_id) DO UPDATE SET idea_id = EXCLUDED.idea_id` — so promoting a SECOND idea into a task that already had a link **silently replaced the first idea's lineage**: no error, no warning, no log line. Two ordinary triage promotes at one task were enough, and it happened on prod on 2026-08-21 (ideas 1000811 + 1000812 → task 1003150). Because this table is the rail [ADR 0172](<redacted>.md) stream 1 pays against, an overwritten row is an **ideator not paid** for work their idea produced, with nothing recording it — and it makes merging duplicate reports into one task a LOSSY move, which is the triage the inbox exists to encourage. The R01 grader named this shape and was told it was unreachable; it was unreachable on the ROUTING path examined and fully reachable on the ordinary PROMOTE path. **Decision: many ideas → one task is a real relation, so the key is the pair** — `ideas_006` re-adds `ideas_task_lineage_pkey` as `PRIMARY KEY (task_id, idea_id)` and both INSERT sites `DO UPDATE SET origin`, never `idea_id`. Refusing the second link would turn a legitimate merge into an error; logging the replacement keeps a lossy ledger. **Where one row is still required the EARLIEST link wins** (`ORDER BY created_at, idea_id`, stated in SQL rather than left to the planner): `sourceIdeaForTask`, `credits.awardIdeaTaskShipCredit`, and the nod queue's one-row-per-task predicate — one constant shared by the list and its count, so the pill can never disagree with the rows. Consequences: a task subsumed from N ideas **counts once toward each idea's** shipped-task credit (and cannot double-count within one — the pair is unique); the per-ship payout still names one idea, the earliest, because paying every co-source ideator is a decision about total worth, not a bug fix; the migration **backfills** from `idea_inbox.promoted_to_task_id`, the weaker pointer that survived each overwrite, labelling restored rows `origin='promote'`; and `updateIdea` still swallows a lineage failure but now reports it as a `LINEAGE GAP` through `api.logger` — a silent swallow on top of a silent overwrite was two layers of one mistake.](<redacted>.md) | ideas / economy |
327
327
  | 0238 | [**The join door is a provisioning SETTINGS key, and the hub column stays the cache** ([task 1002324](https://cloudbongos.com/builders#/task/1002324) · goal 1000046, criterion `proj-visibility-states` — R05). [ADR 0182](<redacted>.md) D5 says R05 "moves host — an instance surface, not a hub one", and on the tree both halves of that sentence pointed at nothing: `platform_identity_projects.visibility` (which R04 shipped) is written by **no route** — every write on `routes/projects.js` is the `project.curate` CURATION gate with no ownership check, `upsertProject` deliberately omits the column, and `owner_github_id` there is documented "advisory attribution (not an authority)" — while "the project's own hall settings" is a page that does not exist (`settings.html` is per-BUILDER; the hall's my-projects page was deleted by task 1003308). **Decision: the door is a key in `provisioning.SETTINGS_VOCAB`** (`visibility ∈ public|private|stealth`, default `public`), set through the existing own-scoped `PATCH /provisioning/instances/:id/settings` and rendered as one more `.mSec` section on the manage view an owner already uses. One line in the vocabulary buys the whole task from machinery already proven: `instanceAccessDenied` (own-scoped, Archon override, **404** not 403 — no existence leak), a validator that IS the vocabulary (so an off-list value 400s and a key can never drift out of the schema), a `provisioning_events` audit row, the `<PREFIX>_VISIBILITY` env the runner patches into `web.env`, and `src/branding.js` mapping it onto `project.visibility` in the public manifest. It is a **POLICY** key, not a platform-drawn one like the planet, for two reasons that outlive today: ADR 0182 D6 makes the door the CEILING `joinability` may only narrow and D1/D5 put admission authority on the instance — a door the instance cannot read cannot be a ceiling — and a key with a DEFAULT belongs in the defaulted vocabulary (`PLANET_VOCAB` keys are nullable because null means "the platform picks", and there is no such thing as the platform picking your join door). Nothing here writes the hub column: it stays ADR 0182 D5's cache, and R08 is the report that will feed it — so today an owner's pick is stored, validated, audited and delivered to their instance, and does not yet move the orb (that gap is R06/R08's, named so the next builder does not hunt a bug). The section deliberately ships **no "what your project runs" read-back line**, unlike its two siblings: a deployed project reports no door until it takes a release carrying the field, and a line that could only ever say "this project's server doesn't report this yet" is worse than none. Rejected: a new owner-scoped write route on the hub catalog (D5 forbids the hub authorising the change); a new instance-side settings page on its own (right long-run home, but today a control with no consumer while R08 is unshipped); a `visibility` COLUMN beside `description` (that one earned a column as half the publish gate and is read by SQL — a closed-vocabulary knob is what the jsonb store exists for); and `PLANET_VOCAB` to dodge the restart (a quieter save today, the ceiling rule lost tomorrow).](<redacted>.md) | provisioning / public-landing |
328
328
  | 0237 | [**A starter bundle is a preset over the always-on core, keyed by the declared project type** ([task 1002338](https://cloudbongos.com/builders#/task/1002338) · goal 1000046, criterion `proj-module-select`). "During setup a default set of modules is pre-selected" can only mean the OPT-IN modules, since every instance already boots with the same sixteen `default: true` core-domain ones — so a bundle is a short list of opt-in module keys layered on that floor, preselected and freely toggled off by R20's picker ([task 1002339](https://cloudbongos.com/builders#/task/1002339)). **The key is the DECLARED type, and the seeded vocabulary is stale:** the task text (2026-07-17) names *Game / SaaS-Tool / Community*, but task [1002772](https://cloudbongos.com/builders#/task/1002772)'s owner decision (2026-08-13) fixed the live closed set as `game · research · business · non-profit · not-sure` — two CHECK constraints, two `PROJECT_TYPES` constants and five wizard buttons — and "community" survives only as a `team_shape`. Two constraints ride the key: the arrow runs **type → modules, never back** (1002772 rejected inferring type from module flags, which flip all through setup), and the R15 interview must **not re-ask** what `type` declares, so R19 adds no `PROJECT_DETAIL_VOCAB` key and no migration. `not-sure` and *undeclared* resolve to the same modules but are deliberately different answers — `type` is nullable precisely so "nobody said" is never back-filled with a guess, and the resolver returns `type: null` with its own copy. **The declaration is pinned by a test, not a runtime catalog read:** a module may not import `src/module-loader/catalog.js` (the one-way rule, [ADR 0083](<redacted>.md)), so `modules/provisioning/starter-bundles.js` stays PURE like `onboard-plan.js` beside it and `tests/provisioning_starter_bundles.mjs` reads every `modules/*/module.json` off disk — failing the build if a bundle names a module that does not exist, if `ALWAYS_ON_CORE` drifts from the manifests' `default: true` set, if a bundle names an always-on module (a preselect that toggles nothing), or if it names one of the two hub-only modules. The bundles are `game → dev-box, discord`; `research → agents`; `business → agents, dev-box`; `non-profit → discord`; `not-sure → —`, and they are SHORT because today's opt-in catalog is three modules wide and a preselect an owner must audit is worse than none. Served whole at public `GET /provisioning/starter-bundles` (`{ core, bundles }`, same absent gate as `onboard-plan`) so the picker re-preselects without a refetch and R17's recommendations read the same shape. A bundle is **never a publish precondition** — [ADR 0182](<redacted>.md) D4 fixes that bar at name + description alone. Rejected: a runtime catalog read, a `bundle` key in the interview vocabulary, inferring the bundle from the description (the deferred AI layer, [task 1003500](https://cloudbongos.com/builders#/task/1003500)), and keeping the seeded Game/SaaS-Tool/Community triple.](<redacted>.md) | provisioning / project creation |
329
+ | 0239 | [**A recommendation is a table that carries its own reason; governance is a preview and invites are a seam** ([task 1002336](https://cloudbongos.com/builders#/task/1002336) · goal 1000046, criteria `proj-module-select` / `proj-governance-reco` / `proj-invite-builders`). R19 ([ADR 0237](<redacted>.md)) declared the per-type starter bundle and said outright it is "a declaration and not a rule engine — R17/R22 own the layer that reasons"; this is that layer, and the goal pins it **rule-based**, with the AI/embeddings pass deferred ([task 1003500](https://cloudbongos.com/builders#/task/1003500), idea 1000552). **Two inputs, and the free-text description is not one of them:** the DECLARED `type` (a column) and `team_shape` (the one closed-answer key the R15 interview collects, [task 1002334](https://cloudbongos.com/builders#/task/1002334)) — inferring from prose is the deferred layer ADR 0237 §7 already rejected once. The engine is three frozen tables (`TEAM_SHAPE_RULES` add/remove ONE opt-in module; `GOVERNANCE_RULES` name a preset; `INVITE_RULES` emit a seek) and **every row carries its own `reason` sentence**, shipped with the effect rather than reconstructed by whichever surface renders it — a recommendation an owner cannot be told the reason for is one they cannot disagree with. `bundle.adjustments` is a **DELTA**: a rule whose condition matched but whose module the bundle already carried records NOTHING, because "we switched discord on because you said community" over a module a game would have had anyway is a claim the owner can check and find false. **Governance is a named preview, never a setting** — the governance module is planned and unbuilt (goal 1000030), so a preset is a name plus one sentence of what it feels like (`owner-only` / `trusted-team` / `open-contribution`) and every result carries `applied: false`, one flag instead of the same fact hardcoded in R25, R18, the wizard and the project page. **Invites are a SEAM**: `suggested` is always `[]` because ranking builders means querying the leaderboard in the sibling `economy` module, which the one-way rule ([ADR 0083](<redacted>.md)) forbids importing — the engine emits `seeking: { kind: 'top-builders', limit }` (or `null` = suggest nobody, a real answer) and R28 ([task 1002347](https://cloudbongos.com/builders#/task/1002347)) turns it into names. **Skipping is an answer:** every table states a default and each is the NARROWEST option (widening later costs one setting; a role granted to strangers is not recovered by setting it back), an off-vocabulary `team_shape` reads as no answer exactly as `normalizeProjectDetail` drops it, and the route answers 200-with-defaults rather than 400 — refusing would make the supported path ([ADR 0182](<redacted>.md) D4) an error. `tailored: boolean` is the machine-readable half of `proj-detail-interview`'s details-vs-skip split that R18 ([task 1002337](https://cloudbongos.com/builders#/task/1002337)) proves. Served at public `GET /provisioning/recommendations?type=&team_shape=` (same absent gate as `starter-bundles`; no database, pinned by a `pool`-throws stub), returning ADR 0237 §5's bundle shape plus `adjustments` so a recommendation and R20's preselect can never name different modules. Rejected: reading the description, filling `suggested` from `GET /public/leaderboard`, a weighted scoring function, a reason per matched condition, and a 400 on an unknown shape.](<redacted>.md) | provisioning / project creation |
329
330
 
330
331
  > ⚠️ **Numbering collisions are now machine-enforced, not narrated.** Twenty numbers are shared by two ADRs each — assigned in parallel sessions before anything checked. The files keep their filenames (renumbering would break every existing citation, and a number once assigned is never reused), and this table disambiguates each pair as `NNNN-a` / `NNNN-b`. The authoritative list is `LEGACY_DUPLICATE_ADRS` in [`scripts/gds/adr-namespace.js`](../../scripts/gds/adr-namespace.js), frozen by exact filename: a **new** collision — or a third file joining a legacy number, or a rename of either half — hard-fails the `unit` CI gate, as does an index row that points at no file or an ADR with no row. The list may only shrink. This paragraph used to narrate the collisions one by one and had fallen eight behind reality; see [ADR 0195](<redacted>.md) for why the check exists and why the pairs are grandfathered rather than renumbered.
@@ -10786,7 +10786,7 @@
10786
10786
  "projects"
10787
10787
  ],
10788
10788
  "summary": "GET /projects/featured",
10789
- "description": "a curated public showcase; no auth by design.\n\n**Rank:** `public` — No authentication — any caller.",
10789
+ "description": "the public map of projects; no auth by design.\n\n**Rank:** `public` — No authentication — any caller.",
10790
10790
  "x-rank": "public",
10791
10791
  "x-source": "modules/platform-identity/routes/projects.js",
10792
10792
  "responses": {
@@ -11690,6 +11690,34 @@
11690
11690
  "security": []
11691
11691
  }
11692
11692
  },
11693
+ "/provisioning/recommendations": {
11694
+ "get": {
11695
+ "operationId": "get_provisioning_recommendations",
11696
+ "tags": [
11697
+ "provisioning"
11698
+ ],
11699
+ "summary": "GET /provisioning/recommendations",
11700
+ "description": "GET /provisioning/recommendations?type=<project type>&team_shape=<interview answer> — the RULE-BASED recommendation for one set of creation answers (BV1.R17, task 1002336; goal 1000046 criteria `proj-module-select`, `proj-governance-reco`, `proj-invite-builders`). Returns `{ recommendations: { type, teamShape, tailored, bundle, governance, invites } }` — the starter bundle adjusted by the interview answer with a `reason` per adjustment, a named governance preset with its preview (`applied: false` until the governance module ships, goal 1000030), and the invite SEEK that R28 (task 1002347) turns into names. The two answers arrive separately because they are stored separately: `type` is a column and `team_shape` a key of the `detail` jsonb, so a caller passes back exactly what it holds. Both are optional and neither is validated by rejection — an absent or off-vocabulary value reads as NO ANSWER and yields the stated defaults, which is the supported path (ADR 0182 D4: skipping the interview is a real answer), never a 400. A pure read over modules/provisioning/recommendations.js — no database, no per-request state. rank: public — the same absent gate as `starter-bundles` and `onboard-plan` above: the signed-out hub wizard (/projects?view=new) asks while the owner is still answering, before any row exists to be own-scoped against, and the answer is a declaration that names nothing private.\n\n**Rank:** `public` — No authentication — any caller.",
11701
+ "x-rank": "public",
11702
+ "x-source": "modules/provisioning/routes/provisioning.js",
11703
+ "responses": {
11704
+ "200": {
11705
+ "description": "Success.",
11706
+ "content": {
11707
+ "application/json": {
11708
+ "schema": {
11709
+ "$ref": "#/components/schemas/GetProvisioningRecommendationsResponse"
11710
+ }
11711
+ }
11712
+ }
11713
+ },
11714
+ "400": {
11715
+ "$ref": "#/components/responses/BadRequest"
11716
+ }
11717
+ },
11718
+ "security": []
11719
+ }
11720
+ },
11693
11721
  "/provisioning/slug-available": {
11694
11722
  "get": {
11695
11723
  "operationId": "get_provisioning_slug_available",
@@ -16997,6 +17025,15 @@
16997
17025
  "steps"
16998
17026
  ]
16999
17027
  },
17028
+ "GetProvisioningRecommendationsResponse": {
17029
+ "type": "object",
17030
+ "properties": {
17031
+ "recommendations": {}
17032
+ },
17033
+ "required": [
17034
+ "recommendations"
17035
+ ]
17036
+ },
17000
17037
  "GetProvisioningSlugAvailableResponse": {
17001
17038
  "type": "object",
17002
17039
  "properties": {
@@ -21797,9 +21834,9 @@
21797
21834
  "description": "A required dependency/feature is not configured or is temporarily down."
21798
21835
  }
21799
21836
  },
21800
- "x-endpoint-count": 346,
21801
- "x-schema-count": 378,
21837
+ "x-endpoint-count": 347,
21838
+ "x-schema-count": 379,
21802
21839
  "x-undocumented-bodies": 9,
21803
- "x-response-schemas": 258,
21840
+ "x-response-schemas": 259,
21804
21841
  "x-generated-by": "scripts/gds/gen-api-docs.js"
21805
21842
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Bongos API reference
4
4
 
5
- > **Generated from the live route files** — the route file is authoritative. 346 endpoints across 56 route files.
5
+ > **Generated from the live route files** — the route file is authoritative. 347 endpoints across 56 route files.
6
6
  > Machine-readable spec: [`docs/api/openapi.json`](api/openapi.json) (OpenAPI 3.1). Rendered docs site: **`/docs`** (e.g. `cloudbongos.com/docs`).
7
7
 
8
8
  Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/<redacted>.md)): `public` < `any-builder` < `metic+archon` < `archon`.
@@ -439,10 +439,10 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/<redacted>
439
439
  | GET | `/api/bongos/projects` | `metic+archon` | — | the full curation list (includes unfeatured + owner attribution). |
440
440
  | POST | `/api/bongos/projects` | `metic+archon` | `origin`, `name`, `tagline`, `description`, `art_url`, `type`, `template` | create / update a catalog entry (manual seed for hand-wired instances; federated projects auto-catalogue at registration). |
441
441
  | PATCH | `/api/bongos/projects/:id/featured` | `metic+archon` | `featured` | the feature / unfeature control (the ADR 0141 §5 curation gate), BOUNDED BY THE PUBLISH GATE (ADR 0182 D3, task 1002335). |
442
- | GET | `/api/bongos/projects/featured` | `public` | — | a curated public showcase; no auth by design. |
442
+ | GET | `/api/bongos/projects/featured` | `public` | — | the public map of projects; no auth by design. |
443
443
  | POST | `/api/bongos/projects/invite` | `metic+archon` | `client_id`, `github_login` | invite a builder into a project (ADR 0141 §5, task #1002115). |
444
444
 
445
- ## `provisioning` (20)
445
+ ## `provisioning` (21)
446
446
 
447
447
  | Method | Path | Rank | Body | Description |
448
448
  |---|---|---|---|---|
@@ -463,6 +463,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/<redacted>
463
463
  | PATCH | `/api/bongos/provisioning/instances/:id/settings` | `any-builder` | validated | PATCH /provisioning/instances/:id/settings — change a project's settings. |
464
464
  | POST | `/api/bongos/provisioning/instances/:id/teardown` | `any-builder` | — | POST /provisioning/instances/:id/teardown — request teardown of the caller's OWN instance. |
465
465
  | GET | `/api/bongos/provisioning/onboard-plan` | `public` | — | GET /provisioning/onboard-plan?mode=greenfield\|adopt&domain=<host> — the CANONICAL onboarding step sequence (task 2085; goal 35 / criteri… |
466
+ | GET | `/api/bongos/provisioning/recommendations` | `public` | — | GET /provisioning/recommendations?type=<project type>&team_shape=<interview answer> — the RULE-BASED recommendation for one set of creati… |
466
467
  | GET | `/api/bongos/provisioning/slug-available` | `any-builder` | — | GET /provisioning/slug-available?slug=<handle> — is this handle free to create under? rank: any authenticated builder (same gate as the c… |
467
468
  | GET | `/api/bongos/provisioning/starter-bundles` | `public` | — | GET /provisioning/starter-bundles — the curated module preset for each declared project type (BV1.R19, task 1002338; goal 1000046 criteri… |
468
469
  | GET | `/api/bongos/provisioning/tls-check` | `public` | — | GET /provisioning/tls-check?domain=<host> — the Caddy on-demand-TLS ALLOW-LIST (ADR 0111 §4, task P4 task 1945). |
@@ -4,13 +4,13 @@
4
4
  > Deterministic on a given tree — regenerate and commit rather than hand-editing.
5
5
  > Machine-readable twin: [`copy-registry.json`](copy-registry.json).
6
6
 
7
- **1632 strings** across 3 surfaces · 1418 distinct pieces of copy · 1632 certain, 0 heuristic · 152 shown in more than one place.
7
+ **1633 strings** across 3 surfaces · 1418 distinct pieces of copy · 1633 certain, 0 heuristic · 153 shown in more than one place.
8
8
 
9
9
  ## Surfaces
10
10
 
11
11
  | surface | lives at | files | strings |
12
12
  |---|---|---|---|
13
- | `builders-hall` | `modules/hall-ui/public` | 73 | 1180 |
13
+ | `builders-hall` | `modules/hall-ui/public` | 73 | 1181 |
14
14
  | `status-dashboard` | `modules/status-ui/public` | 4 | 98 |
15
15
  | `landing` | `modules/public-landing/public` | 5 | 354 |
16
16
 
@@ -69,16 +69,16 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
69
69
  | `7926e30955d2` | 3x | ← Back to goal | modules/hall-ui/public/goals.html:184, modules/hall-ui/public/goals.html:195, modules/hall-ui/public/goals.html:207 |
70
70
  | `a8813c34d20d` | 2x | &ldquo;Host denied&rdquo; | modules/hall-ui/public/box-panel.js:160, modules/hall-ui/public/box-panel.js:340 |
71
71
  | `22825067f4c5` | 2x | 1 builder | modules/public-landing/public/index.html:747, modules/public-landing/public/index.html:752 |
72
- | `3e5a62bc4887` | 2x | A GitHub username is needed. | modules/hall-ui/public/hall-render.js:361, modules/hall-ui/public/watch.js:279 |
72
+ | `3e5a62bc4887` | 2x | A GitHub username is needed. | modules/hall-ui/public/hall-render.js:361, modules/hall-ui/public/watch.js:287 |
73
73
  | `996edffc1966` | 2x | Access requests | modules/hall-ui/public/watch.html:46, modules/hall-ui/public/watch.html:61 |
74
74
  | `a072071b893c` | 2x | All time | modules/status-ui/public/index.html:286, modules/status-ui/public/index.html:313 |
75
75
  | `490b73a0c6e8` | 2x | Approve your Dev Box app — {{worldName}} | modules/hall-ui/public/pair.html:6, modules/hall-ui/public/pair.html:6 |
76
- | `b2656d0b2402` | 2x | Asked {…} | modules/hall-ui/public/collab.js:41, modules/hall-ui/public/watch.js:315 |
76
+ | `b2656d0b2402` | 2x | Asked {…} | modules/hall-ui/public/collab.js:41, modules/hall-ui/public/watch.js:389 |
77
77
  | `f6bb75b08e98` | 2x | Back to {…} | modules/hall-ui/public/task.js:188, modules/hall-ui/public/task.js:197 |
78
78
  | `60b248791dc3` | 2x | Builders — {{worldName}} | modules/hall-ui/public/roster.html:6, modules/hall-ui/public/roster.html:6 |
79
- | … | | _112 more in the JSON registry_ | |
79
+ | … | | _113 more in the JSON registry_ | |
80
80
 
81
- ## `builders-hall` — 1180 strings
81
+ ## `builders-hall` — 1181 strings
82
82
 
83
83
  | id | conf | text | where |
84
84
  |---|---|---|---|
@@ -114,7 +114,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
114
114
  | `353fff36068f` | certain | ; a later push must be re-approved. | `modules/hall-ui/public/gate.js:94` |
115
115
  | `8ffdf4995e81` | certain | A Full Idea answers five questions, so that someone else can deliver against it without having to interview yo | `modules/hall-ui/public/ideas.html:107` |
116
116
  | `3e5a62bc4887` | certain | A GitHub username is needed. | `modules/hall-ui/public/hall-render.js:361` |
117
- | `3e5a62bc4887` | certain | A GitHub username is needed. | `modules/hall-ui/public/watch.js:279` |
117
+ | `3e5a62bc4887` | certain | A GitHub username is needed. | `modules/hall-ui/public/watch.js:287` |
118
118
  | `2c23271d5d71` | certain | A device is asking to act as you | `modules/hall-ui/public/pair.html:32` |
119
119
  | `a22df5ebbd5e` | certain | A flag needs a reason an artist can act on. What is wrong with it, and what would better look like? | `modules/hall-ui/public/copy-desk.js:372` |
120
120
  | `634738746b81` | certain | A fresh box has a | `modules/hall-ui/public/harbor.js:125` |
@@ -137,13 +137,13 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
137
137
  | `524188fe0078` | certain | Active sessions | `modules/hall-ui/public/settings.html:162` |
138
138
  | `f6036360c90c` | certain | Activity, by craft | `modules/hall-ui/public/profile.html:133` |
139
139
  | `62eded408097` | certain | Add {…} | `modules/hall-ui/public/profile-nudge.js:68` |
140
- | `8b736e365191` | certain | All builders | `modules/hall-ui/public/hall-render.js:1132` |
140
+ | `8b736e365191` | certain | All builders | `modules/hall-ui/public/hall-render.js:1110` |
141
141
  | `b5e03617b319` | certain | All goals | `modules/hall-ui/public/goals.html:53` |
142
142
  | `bea7817e57a4` | certain | All surfaces | `modules/hall-ui/public/copy-desk.js:301` |
143
143
  | `627c683a5e5d` | certain | All time | `modules/hall-ui/public/hall-widgets.js:130` |
144
144
  | `b38c01691857` | certain | All your work → | `modules/hall-ui/public/hall-widgets.js:110` |
145
145
  | `e99cc5d37404` | certain | Already a member? | `modules/hall-ui/public/hall-render.js:330` |
146
- | `69f0ca4a4d84` | certain | Analytics scope | `modules/hall-ui/public/hall-render.js:1130` |
146
+ | `69f0ca4a4d84` | certain | Analytics scope | `modules/hall-ui/public/hall-render.js:1108` |
147
147
  | `14bdceaac078` | certain | Answer the five questions and this spark becomes a Full Idea. | `modules/hall-ui/public/ideas.js:586` |
148
148
  | `52ed0e2e3470` | certain | Any rank | `modules/hall-ui/public/task-lib.js:62` |
149
149
  | `c89833aa985a` | certain | Approval failed — try again. | `modules/hall-ui/public/pair.js:92` |
@@ -158,7 +158,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
158
158
  | `01a0f29ff406` | certain | As first filed | `modules/hall-ui/public/idea.js:252` |
159
159
  | `688cc6dd38ee` | certain | Asked of you | `modules/hall-ui/public/collab.html:37` |
160
160
  | `b2656d0b2402` | certain | Asked {…} | `modules/hall-ui/public/collab.js:41` |
161
- | `b2656d0b2402` | certain | Asked {…} | `modules/hall-ui/public/watch.js:315` |
161
+ | `b2656d0b2402` | certain | Asked {…} | `modules/hall-ui/public/watch.js:389` |
162
162
  | `8c8ec2597036` | certain | Assigned {…} to builder {…}. | `modules/hall-ui/public/government.js:470` |
163
163
  | `46714066f2da` | certain | Audit log | `modules/hall-ui/public/watch.html:144` |
164
164
  | `1de02052abf2` | certain | Available from the {…} rank up. | `modules/hall-ui/public/gate.js:222` |
@@ -267,8 +267,8 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
267
267
  | `7bcaeffb742f` | certain | Could not approve: {…} | `modules/hall-ui/public/gate.js:108` |
268
268
  | `c922293e668c` | certain | Could not assign: {…} | `modules/hall-ui/public/government.js:475` |
269
269
  | `94763c4d5a94` | certain | Could not block: {…} | `modules/hall-ui/public/harbor.js:167` |
270
- | `e1fc7cedf4e7` | certain | Could not change rank: {…} | `modules/hall-ui/public/watch.js:631` |
271
- | `b9e53fbd90e6` | certain | Could not change standing: {…} | `modules/hall-ui/public/watch.js:657` |
270
+ | `e1fc7cedf4e7` | certain | Could not change rank: {…} | `modules/hall-ui/public/watch.js:720` |
271
+ | `b9e53fbd90e6` | certain | Could not change standing: {…} | `modules/hall-ui/public/watch.js:746` |
272
272
  | `1ef1efc15b6c` | certain | Could not change that just now. | `modules/hall-ui/public/goals-render.js:1059` |
273
273
  | `78e18ea59b9f` | certain | Could not close: {…} | `modules/hall-ui/public/harbor.js:136` |
274
274
  | `c3f99e7c6e6b` | certain | Could not copy automatically — select and copy manually. ({…}) | `modules/hall-ui/public/settings.js:997` |
@@ -279,7 +279,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
279
279
  | `fa309d1d0104` | certain | Could not create rank: {…} | `modules/hall-ui/public/government.js:455` |
280
280
  | `7054cd87b5ec` | certain | Could not end that session: {…} | `modules/hall-ui/public/settings-sessions.js:85` |
281
281
  | `01f0308c66e0` | certain | Could not invite that builder just now. | `modules/hall-ui/public/goals-render.js:1013` |
282
- | `71da00d47492` | certain | Could not invite: {…} | `modules/hall-ui/public/watch.js:289` |
282
+ | `71da00d47492` | certain | Could not invite: {…} | `modules/hall-ui/public/watch.js:297` |
283
283
  | `90691bceaf68` | certain | Could not load | `modules/hall-ui/public/task.js:710` |
284
284
  | `589a4cfc5442` | certain | Could not load idea {…}. | `modules/hall-ui/public/ideas.js:629` |
285
285
  | `192c893fc64e` | certain | Could not load modules. | `modules/hall-ui/public/modules.js:318` |
@@ -291,7 +291,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
291
291
  | `8b69e445592a` | certain | Could not load the question labels; showing the answers as stored. | `modules/hall-ui/public/idea.js:244` |
292
292
  | `edd5bafbe075` | certain | Could not load the queue just now. | `modules/hall-ui/public/ideas.js:550` |
293
293
  | `02bb0570996a` | certain | Could not load the ranks. | `modules/hall-ui/public/ranks.js:197` |
294
- | `2878778cf9f3` | certain | Could not load this page. | `modules/hall-ui/public/watch.js:1011` |
294
+ | `2878778cf9f3` | certain | Could not load this page. | `modules/hall-ui/public/watch.js:1096` |
295
295
  | `4b0c8d94541c` | certain | Could not load your account. Reload the page to try again. | `modules/hall-ui/public/settings.js:1376` |
296
296
  | `2a9fb4046bc4` | certain | Could not load your rank. Return to the hall and try again. | `modules/hall-ui/public/ranks.js:196` |
297
297
  | `9d533e811dec` | certain | Could not load your sessions: {…} | `modules/hall-ui/public/settings-sessions.js:114` |
@@ -299,7 +299,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
299
299
  | `de244c45d916` | certain | Could not load {…} | `modules/hall-ui/public/task.js:703` |
300
300
  | `2366356926b4` | certain | Could not mark the primer just now. Try again. | `modules/hall-ui/public/primer.js:260` |
301
301
  | `753987b5da13` | certain | Could not reach the submit endpoint. | `modules/hall-ui/public/modules.js:297` |
302
- | `6f500726f0ac` | certain | Could not read the report: {…} | `modules/hall-ui/public/watch.js:452` |
302
+ | `6f500726f0ac` | certain | Could not read the report: {…} | `modules/hall-ui/public/watch.js:541` |
303
303
  | `8b470cebf53d` | certain | Could not remove your key. Try again. | `modules/hall-ui/public/settings.js:1198` |
304
304
  | `4cf6bc8b377b` | certain | Could not remove. Try again. | `modules/hall-ui/public/settings.js:1197` |
305
305
  | `7a778d188e87` | certain | Could not remove: {…} | `modules/hall-ui/public/government.js:376` |
@@ -329,7 +329,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
329
329
  | `d4601887a058` | certain | Could not sign out everywhere: {…} | `modules/hall-ui/public/settings-sessions.js:102` |
330
330
  | `b1602d01f4bb` | certain | Could not unblock: {…} | `modules/hall-ui/public/harbor.js:187` |
331
331
  | `3db890b074a7` | certain | Could not update visibility just now. | `modules/hall-ui/public/goals-render.js:1043` |
332
- | `112d12b24879` | certain | Could not verify your access. Go back and try again. | `modules/hall-ui/public/watch.js:1010` |
332
+ | `112d12b24879` | certain | Could not verify your access. Go back and try again. | `modules/hall-ui/public/watch.js:1095` |
333
333
  | `6bd74fd20311` | certain | Could not verify your access. Try again. | `modules/hall-ui/public/sessions.js:280` |
334
334
  | `278e8281c82f` | certain | Could not vote: {…} | `modules/hall-ui/public/government.js:990` |
335
335
  | `a48e9f098392` | certain | Could not {…} just now. | `modules/hall-ui/public/goals-render.js:1029` |
@@ -478,6 +478,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
478
478
  | `379b20d548ad` | certain | Ideas whose author has said "I had the thought but not the full picture". Anyone can develop one — the author | `modules/hall-ui/public/ideas.html:42` |
479
479
  | `ef224c9de7c8` | certain | Ideas — {{worldName}} | `modules/hall-ui/public/ideas.html:6` |
480
480
  | `ef224c9de7c8` | certain | Ideas — {{worldName}} | `modules/hall-ui/public/ideas.html:6` |
481
+ | `9e9f8a44276b` | certain | Identity vouched | `modules/hall-ui/public/watch.js:349` |
481
482
  | `7d6a7de7a69e` | certain | If the {…} has invited you, sign in with GitHub and you're in. If not, ask them for an invite — this project d | `modules/hall-ui/public/hall-render.js:270` |
482
483
  | `b6c47d4ee42c` | certain | Image key removed. | `modules/hall-ui/public/settings.js:1194` |
483
484
  | `783853467d52` | certain | Image-generation key | `modules/hall-ui/public/settings.html:184` |
@@ -485,7 +486,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
485
486
  | `75cfcdd41661` | certain | In this primer | `modules/hall-ui/public/primer.html:58` |
486
487
  | `3102d1d90c98` | certain | Intel Mac? | `modules/hall-ui/public/settings.html:227` |
487
488
  | `dad3388b49c9` | certain | Invitation rescinded. | `modules/hall-ui/public/goals-page.js:692` |
488
- | `24f9e88c21f6` | certain | Invite by GitHub username | `modules/hall-ui/public/watch.js:263` |
489
+ | `24f9e88c21f6` | certain | Invite by GitHub username | `modules/hall-ui/public/watch.js:271` |
489
490
  | `d176de7857f3` | certain | Invited. | `modules/hall-ui/public/goals-render.js:1002` |
490
491
  | `b9cb720ad5d1` | certain | Invited? Sign in | `modules/hall-ui/public/hall-render.js:270` |
491
492
  | `0e48bb2c8c94` | certain | Island index | `modules/hall-ui/public/atlas.html:76` |
@@ -506,7 +507,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
506
507
  | `fbe40b5818a3` | certain | Key removed. | `modules/hall-ui/public/settings.js:1193` |
507
508
  | `93c17262bacf` | certain | Key storage is being set up by an Archon — check back shortly. {…} | `modules/hall-ui/public/settings.js:1072` |
508
509
  | `2a3c9e501f8e` | certain | Key storage isn't set up yet. As an Archon you can turn it on now — the server generates and safely stores the | `modules/hall-ui/public/settings.js:1068` |
509
- | `7d6eaa8d4514` | certain | Kinds of work shipped | `modules/hall-ui/public/hall-render.js:1182` |
510
+ | `7d6eaa8d4514` | certain | Kinds of work shipped | `modules/hall-ui/public/hall-render.js:1159` |
510
511
  | `81f62e066dbf` | certain | Last 14 days: {…} / 10 average across {…} graded work{…} ({…} passed). | `modules/hall-ui/public/builders.js:591` |
511
512
  | `35a15eb0a117` | certain | Last 30 days | `modules/hall-ui/public/hall-widgets.js:129` |
512
513
  | `9be8b839eff8` | certain | Last 7 days | `modules/hall-ui/public/hall-widgets.js:129` |
@@ -543,7 +544,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
543
544
  | `7a239a17afc8` | certain | Loading your preferences… | `modules/hall-ui/public/settings.html:32` |
544
545
  | `04df1bd30129` | certain | Loading your rank… | `modules/hall-ui/public/ranks.html:30` |
545
546
  | `c27711f9eb4d` | certain | Locked until you reach the end of the article above. | `modules/hall-ui/public/primer.html:103` |
546
- | `4017ee030bc2` | certain | Lookback window | `modules/hall-ui/public/profile-charts.js:410` |
547
+ | `4017ee030bc2` | certain | Lookback window | `modules/hall-ui/public/profile-charts.js:403` |
547
548
  | `a93ca2841b96` | certain | Mac (Intel) | `modules/hall-ui/public/hall-render.js:744` |
548
549
  | `06b4ede3fb58` | certain | Machine principals | `modules/hall-ui/public/government.html:124` |
549
550
  | `6b3d660e0e31` | certain | Map view | `modules/hall-ui/public/atlas.html:46` |
@@ -564,6 +565,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
564
565
  | `e52ae74f0052` | certain | Move to goal | `modules/hall-ui/public/task.js:510` |
565
566
  | `ae84ebe1d735` | certain | Name cannot be blank. | `modules/hall-ui/public/settings.js:831` |
566
567
  | `31e91ee6ce03` | certain | Name must be {…} characters or fewer. | `modules/hall-ui/public/settings.js:836` |
568
+ | `5e8199266a8a` | certain | Name unvouched | `modules/hall-ui/public/watch.js:350` |
567
569
  | `7def635421ea` | certain | Needs your attention | `modules/hall-ui/public/goal-inbox.js:385` |
568
570
  | `d427d9dab01c` | certain | New claims are paused: {…} confirmed {…} can't land yet, so {…} reward is pending. Rebase and re-ship, or rele | `modules/hall-ui/public/hall-render.js:604` |
569
571
  | `7fcc2583c372` | certain | New custom rank | `modules/hall-ui/public/government.html:81` |
@@ -599,6 +601,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
599
601
  | `78f78d1d1e1f` | certain | No version is in flight right now. | `modules/hall-ui/public/roadmap.js:380` |
600
602
  | `c9800f8b6bc8` | certain | No versions declared yet. | `modules/hall-ui/public/roadmap.js:394` |
601
603
  | `4654849396a3` | certain | No work reviewed yet. | `modules/hall-ui/public/hall-widgets.js:150` |
604
+ | `91c409a4aea5` | certain | Nobody vouched for this name — anyone can file a request naming anyone. Confirm who is asking before you admit | `modules/hall-ui/public/watch.js:350` |
602
605
  | `c72e0bdb834a` | certain | Not declared in module.json — this is who ships the module. | `modules/hall-ui/public/modules.js:62` |
603
606
  | `361b353ded5e` | certain | Not enough shipped work yet to chart. | `modules/hall-ui/public/hall-widgets.js:184` |
604
607
  | `90230572d017` | certain | Not found | `modules/hall-ui/public/task.js:698` |
@@ -655,7 +658,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
655
658
  | `542f801cc77f` | certain | Path-based estimate from declared files. Glob-aware detection with claim collisions — and lead resolution acti | `modules/hall-ui/public/goals-render.js:573` |
656
659
  | `54fa47e421a5` | certain | Peer recognition | `modules/hall-ui/public/hall-widgets.js:168` |
657
660
  | `47d609ece51c` | certain | Pending invitations | `modules/hall-ui/public/goals-render.js:1114` |
658
- | `adb5130f0d57` | certain | People asking to join. Approve or dismiss each request. | `modules/hall-ui/public/watch.html:62` |
661
+ | `a69aff719f1a` | certain | People asking to join. Approve or dismiss each request, re-read the ones you already decided, and take back an | `modules/hall-ui/public/watch.html:62` |
659
662
  | `b95918d421ae` | certain | People — {{worldName}} | `modules/hall-ui/public/people.html:6` |
660
663
  | `b95918d421ae` | certain | People — {{worldName}} | `modules/hall-ui/public/people.html:6` |
661
664
  | `4a46b478edaf` | certain | Per page | `modules/hall-ui/public/hall-kit.js:71` |
@@ -684,7 +687,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
684
687
  | `abee9a18325d` | certain | Propose wording… | `modules/hall-ui/public/copy-desk.js:179` |
685
688
  | `3f85bdc47099` | certain | Protected module scope — join by request; an Archon admits members | `modules/hall-ui/public/goals-render.js:803` |
686
689
  | `e5c292c8b361` | certain | Provides (seams) | `modules/hall-ui/public/atlas.js:288` |
687
- | `b9c6def6b120` | certain | Rank set to {…}. | `modules/hall-ui/public/watch.js:625` |
690
+ | `b9c6def6b120` | certain | Rank set to {…}. | `modules/hall-ui/public/watch.js:714` |
688
691
  | `ff50a1395cbc` | certain | Rank: {…} | `modules/hall-ui/public/profile.js:45` |
689
692
  | `6824ec470f99` | certain | Ranks — {{worldName}} | `modules/hall-ui/public/ranks.html:6` |
690
693
  | `6824ec470f99` | certain | Ranks — {{worldName}} | `modules/hall-ui/public/ranks.html:6` |
@@ -724,7 +727,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
724
727
  | `7d4149cee474` | certain | Repo Atlas — a self-drawing map of the codebase | `modules/hall-ui/public/atlas.html:6` |
725
728
  | `4d40a68605e1` | certain | Repo atlas | `modules/hall-ui/public/atlas.html:30` |
726
729
  | `52d7d4309540` | certain | Repo health | `modules/hall-ui/public/watch.html:111` |
727
- | `e6629398d47c` | certain | Report {…}. | `modules/hall-ui/public/watch.js:386` |
730
+ | `e6629398d47c` | certain | Report {…}. | `modules/hall-ui/public/watch.js:475` |
728
731
  | `ab456f09c0f6` | certain | Request access | `modules/hall-ui/public/hall-render.js:278` |
729
732
  | `ab456f09c0f6` | certain | Request access | `modules/hall-ui/public/hall-render.js:408` |
730
733
  | `967f6d1ac068` | certain | Request dev box | `modules/hall-ui/public/box-panel.js:357` |
@@ -741,7 +744,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
741
744
  | `0887725744f2` | certain | Restricted. | `modules/hall-ui/public/gate.js:219` |
742
745
  | `0887725744f2` | certain | Restricted. | `modules/hall-ui/public/government.js:1104` |
743
746
  | `0887725744f2` | certain | Restricted. | `modules/hall-ui/public/harbor.js:337` |
744
- | `0887725744f2` | certain | Restricted. | `modules/hall-ui/public/watch.js:965` |
747
+ | `0887725744f2` | certain | Restricted. | `modules/hall-ui/public/watch.js:1050` |
745
748
  | `feb48b0d462c` | certain | Return to the Dev Box app and click “Connect” again for a fresh code. | `modules/hall-ui/public/pair.js:32` |
746
749
  | `f1b2b158c3b1` | certain | Review quality | `modules/hall-ui/public/watch.html:82` |
747
750
  | `4e062d4f8d69` | certain | Reviews by builder | `modules/hall-ui/public/watch.html:75` |
@@ -821,7 +824,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
821
824
  | `f79e1fb8ebd4` | certain | Suggested as you type; leave it on "no goal" and it waits for triage. | `modules/hall-ui/public/ideas.html:91` |
822
825
  | `1e40f33483eb` | certain | Switch theme | `modules/hall-ui/public/shell.js:369` |
823
826
  | `93fa2e97dd35` | certain | System default for this skill | `modules/hall-ui/public/settings.js:74` |
824
- | `4894b1d9b0de` | certain | System oversight: people, operations and security. | `modules/hall-ui/public/watch.js:1024` |
827
+ | `4894b1d9b0de` | certain | System oversight: people, operations and security. | `modules/hall-ui/public/watch.js:1109` |
825
828
  | `dfc967a63d57` | certain | Task lifecycle from backlog to shipped, showing states and transitions and the edge where credits are awarded. | `modules/hall-ui/public/diagrams.html:51` |
826
829
  | `10cc12f37636` | certain | Task sections | `modules/hall-ui/public/work.html:53` |
827
830
  | `0e636ea41b29` | certain | Task status | `modules/hall-ui/public/goals-render.js:331` |
@@ -865,6 +868,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
865
868
  | `82479c539fca` | certain | The name shown beside your work — in the roster, the leaderboard, and the work feed. Your sign-in and the cred | `modules/hall-ui/public/settings.html:75` |
866
869
  | `b88dd8b96b72` | certain | The next person to notice this sentence reads your note instead of re-litigating it. | `modules/hall-ui/public/copy-desk.html:135` |
867
870
  | `aa716f3dd551` | certain | The page could not be loaded. Try again. | `modules/hall-ui/public/builders.js:1392` |
871
+ | `74bc22f38140` | certain | The platform confirmed this request came from the account it names. | `modules/hall-ui/public/watch.js:349` |
868
872
  | `6c3d88de42de` | certain | The primer | `modules/hall-ui/public/primer.html:41` |
869
873
  | `dea378cd4837` | certain | The primer did not load | `modules/hall-ui/public/primer.html:88` |
870
874
  | `3bc5ec5f35ec` | certain | The ranks, lowest to highest | `modules/hall-ui/public/ranks.html:46` |
@@ -1031,7 +1035,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1031
1035
  | `181d339c9318` | certain | and build right here in the browser — no remote control needed. Either way, reopening the online terminal late | `modules/hall-ui/public/hall-render.js:744` |
1032
1036
  | `bc960f460250` | certain | and install dependencies ( | `modules/hall-ui/public/hall-render.js:785` |
1033
1037
  | `b867876e8b6c` | certain | and press Enter. | `modules/hall-ui/public/hall-render.js:744` |
1034
- | `b4033000c537` | certain | as a table | `modules/hall-ui/public/profile-charts.js:204` |
1038
+ | `b4033000c537` | certain | as a table | `modules/hall-ui/public/profile-charts.js:209` |
1035
1039
  | `d7c511423bc0` | certain | as configuration: {…} | `modules/hall-ui/public/government.js:707` |
1036
1040
  | `09db3fd4355b` | certain | asked by {…} | `modules/hall-ui/public/collab.js:69` |
1037
1041
  | `63bd14f73960` | certain | author trusted | `modules/hall-ui/public/gate.js:141` |
@@ -1054,7 +1058,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1054
1058
  | `16d18b40bd23` | certain | drag to pan · ⌘/ctrl + scroll to zoom · ⤢ fullscreen | `modules/hall-ui/public/diagram-viewer.js:121` |
1055
1059
  | `1f80614e6960` | certain | drag to pan, scroll to zoom, or open it fullscreen | `modules/hall-ui/public/diagrams.html:74` |
1056
1060
  | `77b0b2b446a1` | certain | e.g. octocat | `modules/hall-ui/public/hall-render.js:278` |
1057
- | `77b0b2b446a1` | certain | e.g. octocat | `modules/hall-ui/public/watch.js:264` |
1061
+ | `77b0b2b446a1` | certain | e.g. octocat | `modules/hall-ui/public/watch.js:272` |
1058
1062
  | `89cc9754d633` | certain | e.g. runaway cost — paused pending review | `modules/hall-ui/public/harbor.js:148` |
1059
1063
  | `12a23cc46ace` | certain | ends every session including this one — you will be asked to sign in again. | `modules/hall-ui/public/settings.html:172` |
1060
1064
  | `5321f9da0841` | certain | exists in schema, no behavior yet | `modules/hall-ui/public/diagrams.html:44` |
@@ -1099,7 +1103,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1099
1103
  | `fdfb8b2ce948` | certain | new identity | `modules/hall-ui/public/box-panel.js:339` |
1100
1104
  | `86f235ddfe01` | certain | new thread | `modules/hall-ui/public/settings.html:260` |
1101
1105
  | `b9f2e0d43c94` | certain | no clock | `modules/hall-ui/public/government.js:602` |
1102
- | `e02979266baf` | certain | no data | `modules/hall-ui/public/hall-render.js:1083` |
1106
+ | `e02979266baf` | certain | no data | `modules/hall-ui/public/hall-kit.js:695` |
1103
1107
  | `33ca71bef112` | certain | no tasks yet | `modules/hall-ui/public/goals-render.js:163` |
1104
1108
  | `739a4bd6bd83` | certain | node scripts/setup-builder.js | `modules/hall-ui/public/hall-render.js:811` |
1105
1109
  | `61f0f4b2f4ab` | certain | not categorised yet | `modules/hall-ui/public/goals-page.js:277` |
@@ -1108,7 +1112,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1108
1112
  | `3916a3dc8e98` | certain | not started | `modules/hall-ui/public/roadmap.js:108` |
1109
1113
  | `3916a3dc8e98` | certain | not started | `modules/hall-ui/public/roadmap.js:263` |
1110
1114
  | `b5567b42fa52` | certain | not yet | `modules/hall-ui/public/not-ready.html:25` |
1111
- | `8ca0a499ec86` | certain | nothing recorded yet · {…} | `modules/hall-ui/public/profile-charts.js:222` |
1115
+ | `8ca0a499ec86` | certain | nothing recorded yet · {…} | `modules/hall-ui/public/profile-charts.js:227` |
1112
1116
  | `e2c643fbf4d6` | certain | npm install | `modules/hall-ui/public/hall-render.js:785` |
1113
1117
  | `e90b5601ce16` | certain | objected to | `modules/hall-ui/public/government.js:824` |
1114
1118
  | `351d56b80a6c` | certain | of all in-flight tasks shipped | `modules/hall-ui/public/roadmap.js:273` |
@@ -1136,8 +1140,8 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1136
1140
  | `9bec9eb4829e` | certain | scope: {…} | `modules/hall-ui/public/goals-render.js:785` |
1137
1141
  | `a6f55d7aa6f7` | certain | shipped (live) | `modules/hall-ui/public/roadmap.js:273` |
1138
1142
  | `026ba1289d4d` | certain | shipped · | `modules/hall-ui/public/goals-render.js:707` |
1139
- | `ec6d8c900bc8` | certain | sign in | `modules/hall-ui/public/profile-charts.js:472` |
1140
- | `ec6d8c900bc8` | certain | sign in | `modules/hall-ui/public/profile-charts.js:484` |
1143
+ | `ec6d8c900bc8` | certain | sign in | `modules/hall-ui/public/profile-charts.js:465` |
1144
+ | `ec6d8c900bc8` | certain | sign in | `modules/hall-ui/public/profile-charts.js:477` |
1141
1145
  | `0215b2cdca8c` | certain | submit for review | `modules/hall-ui/public/modules.js:132` |
1142
1146
  | `da30b952a60b` | certain | system / unattributed | `modules/hall-ui/public/goals-page.js:249` |
1143
1147
  | `da30b952a60b` | certain | system / unattributed | `modules/hall-ui/public/work.js:498` |
@@ -1146,12 +1150,11 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1146
1150
  | `4d8ee7d68974` | certain | task {…} | `modules/hall-ui/public/hall-render.js:599` |
1147
1151
  | `4d8ee7d68974` | certain | task {…} | `modules/hall-ui/public/idea.js:207` |
1148
1152
  | `4d8ee7d68974` | certain | task {…} | `modules/hall-ui/public/ideas.js:476` |
1149
- | `4d8ee7d68974` | certain | task {…} | `modules/hall-ui/public/watch.js:936` |
1153
+ | `4d8ee7d68974` | certain | task {…} | `modules/hall-ui/public/watch.js:1021` |
1150
1154
  | `a41659dc2bee` | certain | tasks remaining | `modules/hall-ui/public/roadmap.js:273` |
1151
1155
  | `bd3402efa59e` | certain | task{…} shipped | `modules/hall-ui/public/goals-render.js:748` |
1152
1156
  | `95854f8315ca` | certain | the page everyone else reads | `modules/hall-ui/public/profile.html:32` |
1153
1157
  | `632527db5bca` | certain | this session | `modules/hall-ui/public/settings-sessions.js:44` |
1154
- | `130c3731ad83` | certain | this week | `modules/hall-ui/public/profile-charts.js:298` |
1155
1158
  | `ee431f143549` | certain | three tasks | `modules/hall-ui/public/not-ready.html:33` |
1156
1159
  | `d70c287bcd7f` | certain | to authenticate this machine, then | `modules/hall-ui/public/hall-render.js:785` |
1157
1160
  | `65702f92a8c8` | certain | to claim your first task. | `modules/hall-ui/public/hall-render.js:785` |
@@ -1159,7 +1162,6 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1159
1162
  | `b8e12f871044` | certain | to graduate and open the rest of {{worldName}}'s builder hub. | `modules/hall-ui/public/not-ready.html:33` |
1160
1163
  | `7d54a818850d` | certain | to see the full record. | `modules/hall-ui/public/profile.js:179` |
1161
1164
  | `23488ca48320` | certain | to take a task right here — no terminal needed. Then click | `modules/hall-ui/public/work.html:65` |
1162
- | `c0449d0ec0b8` | certain | trend, latest {…} | `modules/hall-ui/public/hall-render.js:1095` |
1163
1165
  | `f98966dc7cac` | certain | upkeep undeclared | `modules/hall-ui/public/modules.js:92` |
1164
1166
  | `4de556377db2` | certain | verdict {…} | `modules/hall-ui/public/task.js:395` |
1165
1167
  | `969577b937d6` | certain | versions in flight | `modules/hall-ui/public/roadmap.js:273` |
@@ -1214,6 +1216,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1214
1216
  | `b2db97589086` | certain | {…} will not be able to open or wake a dev box until you unblock them. A box they already have running is left | `modules/hall-ui/public/harbor.js:148` |
1215
1217
  | `3ad8f32dd43b` | certain | {…} you have sent | `modules/hall-ui/public/profile-connections.js:137` |
1216
1218
  | `8186b562553a` | certain | {…} {…} waiting | `modules/hall-ui/public/work.js:359` |
1219
+ | `0d4016a5531c` | certain | {…} {…}{…} | `modules/hall-ui/public/watch.js:379` |
1217
1220
  | `0d4016a5531c` | certain | {…} {…}{…} | `modules/hall-ui/public/work.js:223` |
1218
1221
  | `b3757ba3bb46` | certain | {…} · Stored encrypted; never shown again after saving. | `modules/hall-ui/public/settings.js:1055` |
1219
1222
  | `94445e6ed5e8` | certain | {…} · code | `modules/hall-ui/public/pair.js:53` |
@@ -1224,8 +1227,6 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1224
1227
  | `2a2728a4ec4f` | certain | {…}% of tasks complete | `modules/hall-ui/public/roadmap.js:70` |
1225
1228
  | `15e545eb3ce2` | certain | {…}, no such task | `modules/hall-ui/public/task.js:691` |
1226
1229
  | `c43050b62297` | certain | {…}/100 complete | `modules/hall-ui/public/idea.js:87` |
1227
- | `afea9a3a8e9e` | certain | {…}: {…} as of today; arrow keys walk the days | `modules/hall-ui/public/profile-charts.js:248` |
1228
- | `b3d764eaf258` | certain | {…}: {…} in {…} weeks; arrow keys walk the weeks | `modules/hall-ui/public/profile-charts.js:298` |
1229
1230
  | `8e8c7da4f7f5` | certain | {…}criteria met · awaiting review | `modules/hall-ui/public/goals-render.js:155` |
1230
1231
  | `1e275ee0299c` | certain | {…}s only | `modules/hall-ui/public/government.js:1121` |
1231
1232
  | `499916045b19` | certain | {…}{…} asks to join | `modules/hall-ui/public/goal-inbox.js:69` |