@bongos/core 1.21.31 → 1.21.33
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 +62 -37
- package/clients/bongos-client/README.md +1 -1
- package/clients/bongos-client/bongos-client.global.js +6 -0
- package/clients/bongos-client/index.cjs +6 -0
- package/clients/bongos-client/index.d.ts +11 -0
- package/clients/bongos-client/index.mjs +6 -0
- package/docs/adr/0338-modules-travel-through-a-bongos-hosted-store.md +7 -0
- package/docs/api/openapi.json +218 -3
- package/docs/api-reference.md +6 -3
- package/docs/architecture.md +1 -0
- package/docs/copy-inventory.md +40 -38
- package/docs/copy-registry.json +64 -46
- package/docs/design/craft-mode-direction.md +69 -0
- package/docs/module-api-changelog.md +4 -0
- package/docs/page-readings.json +14 -14
- package/modules/government/catalog.js +4 -0
- package/modules/government/migrations/government_024_version_focus_set.sql +19 -0
- package/modules/government/migrations/government_025_module_delist.sql +36 -0
- package/modules/hall-ui/public/modules.js +8 -1
- package/modules/hall-ui/public/roadmap.css +5 -0
- package/modules/hall-ui/public/roadmap.js +64 -5
- package/modules/lifecycle/routes/versions.js +20 -0
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/release-notes.json +16 -0
- package/scripts/gds/module.js +21 -5
- package/src/bongos/module-store.js +31 -0
- package/src/bongos/project-settings.js +28 -0
- package/src/bongos/route-rank-check.js +3 -0
- package/src/bongos/routes/modules.js +35 -0
- package/src/module-api.js +3 -1
- package/tests/focus_version.mjs +96 -0
- package/tests/hall_catalog_world.mjs +1 -1
- package/tests/module_catalog.mjs +34 -6
- package/tests/module_store_delist.mjs +146 -0
package/docs/api/openapi.json
CHANGED
|
@@ -20554,6 +20554,72 @@
|
|
|
20554
20554
|
]
|
|
20555
20555
|
}
|
|
20556
20556
|
},
|
|
20557
|
+
"/store/modules/{key}/delist": {
|
|
20558
|
+
"post": {
|
|
20559
|
+
"operationId": "post_store_modules_key_delist",
|
|
20560
|
+
"tags": [
|
|
20561
|
+
"store"
|
|
20562
|
+
],
|
|
20563
|
+
"summary": "POST /store/modules/:key/delist",
|
|
20564
|
+
"description": "POST /api/bongos/store/modules/:key/delist — a Metic+ person takes a module out of the store (task 1003797, ADR 0338 D2). It leaves the catalog, cannot be newly acquired, takes no new versions and serves no further downloads: every store read already refuses a delisted key, so this flips the one status. What it never does: revoke an entitlement, reach into an instance that already holds the module (that copy keeps working; `bongos upgrade` and the hall tell the holder no more versions will come), or touch a score (ADR 0359). A reason is required; the audit middleware records it with who asked. There is no relist route yet.\n\n**Rank:** `metic+archon` — Metic or Archon rank (review/triage powers).\n\n**Permissions:** `module.delist` (all required).",
|
|
20565
|
+
"x-rank": "metic+archon",
|
|
20566
|
+
"x-source": "src/bongos/routes/modules.js",
|
|
20567
|
+
"x-permissions": [
|
|
20568
|
+
"module.delist"
|
|
20569
|
+
],
|
|
20570
|
+
"parameters": [
|
|
20571
|
+
{
|
|
20572
|
+
"name": "key",
|
|
20573
|
+
"in": "path",
|
|
20574
|
+
"required": true,
|
|
20575
|
+
"schema": {
|
|
20576
|
+
"type": "string"
|
|
20577
|
+
},
|
|
20578
|
+
"description": "Path parameter `key`."
|
|
20579
|
+
}
|
|
20580
|
+
],
|
|
20581
|
+
"requestBody": {
|
|
20582
|
+
"required": false,
|
|
20583
|
+
"content": {
|
|
20584
|
+
"application/json": {
|
|
20585
|
+
"schema": {
|
|
20586
|
+
"$ref": "#/components/schemas/PostStoreModulesKeyDelistRequest"
|
|
20587
|
+
}
|
|
20588
|
+
}
|
|
20589
|
+
},
|
|
20590
|
+
"x-validated": true
|
|
20591
|
+
},
|
|
20592
|
+
"responses": {
|
|
20593
|
+
"200": {
|
|
20594
|
+
"description": "Success.",
|
|
20595
|
+
"content": {
|
|
20596
|
+
"application/json": {
|
|
20597
|
+
"schema": {
|
|
20598
|
+
"$ref": "#/components/schemas/PostStoreModulesKeyDelistResponse"
|
|
20599
|
+
}
|
|
20600
|
+
}
|
|
20601
|
+
}
|
|
20602
|
+
},
|
|
20603
|
+
"400": {
|
|
20604
|
+
"$ref": "#/components/responses/ValidationFailed"
|
|
20605
|
+
},
|
|
20606
|
+
"401": {
|
|
20607
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
20608
|
+
},
|
|
20609
|
+
"403": {
|
|
20610
|
+
"$ref": "#/components/responses/Forbidden"
|
|
20611
|
+
},
|
|
20612
|
+
"404": {
|
|
20613
|
+
"$ref": "#/components/responses/NotFound"
|
|
20614
|
+
}
|
|
20615
|
+
},
|
|
20616
|
+
"security": [
|
|
20617
|
+
{
|
|
20618
|
+
"builderSession": []
|
|
20619
|
+
}
|
|
20620
|
+
]
|
|
20621
|
+
}
|
|
20622
|
+
},
|
|
20557
20623
|
"/store/modules/{key}/entitlement": {
|
|
20558
20624
|
"get": {
|
|
20559
20625
|
"operationId": "get_store_modules_key_entitlement",
|
|
@@ -23058,6 +23124,94 @@
|
|
|
23058
23124
|
"security": []
|
|
23059
23125
|
}
|
|
23060
23126
|
},
|
|
23127
|
+
"/versions/focus": {
|
|
23128
|
+
"get": {
|
|
23129
|
+
"operationId": "get_versions_focus",
|
|
23130
|
+
"tags": [
|
|
23131
|
+
"versions"
|
|
23132
|
+
],
|
|
23133
|
+
"summary": "GET /versions/focus",
|
|
23134
|
+
"description": "The project's focus version (task 1004551) — the one the Roadmap stars. Read: any signed-in builder. Write: Archon only, enforced here on the server, not just by the button hiding. No row = no focus. rank: any-builder — read-only; returns { focus_version_id: string|null, can_set }. can_set tells the page whether to draw a button — a hint only; PUT is the gate.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
23135
|
+
"x-rank": "any-builder",
|
|
23136
|
+
"x-source": "modules/lifecycle/routes/versions.js",
|
|
23137
|
+
"responses": {
|
|
23138
|
+
"200": {
|
|
23139
|
+
"description": "Success.",
|
|
23140
|
+
"content": {
|
|
23141
|
+
"application/json": {
|
|
23142
|
+
"schema": {
|
|
23143
|
+
"$ref": "#/components/schemas/GetVersionsFocusResponse"
|
|
23144
|
+
}
|
|
23145
|
+
}
|
|
23146
|
+
}
|
|
23147
|
+
},
|
|
23148
|
+
"400": {
|
|
23149
|
+
"$ref": "#/components/responses/BadRequest"
|
|
23150
|
+
},
|
|
23151
|
+
"401": {
|
|
23152
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
23153
|
+
},
|
|
23154
|
+
"403": {
|
|
23155
|
+
"$ref": "#/components/responses/Forbidden"
|
|
23156
|
+
}
|
|
23157
|
+
},
|
|
23158
|
+
"security": [
|
|
23159
|
+
{
|
|
23160
|
+
"builderSession": []
|
|
23161
|
+
}
|
|
23162
|
+
]
|
|
23163
|
+
},
|
|
23164
|
+
"put": {
|
|
23165
|
+
"operationId": "put_versions_focus",
|
|
23166
|
+
"tags": [
|
|
23167
|
+
"versions"
|
|
23168
|
+
],
|
|
23169
|
+
"summary": "PUT /versions/focus",
|
|
23170
|
+
"description": "(atom version.focus.set, system) — body { version_id } sets the focus; { version_id: null } clears it. An unknown version id is refused rather than stored.\n\n**Rank:** `archon` — Archon only (rank and identity management + the escalation keys — the trust boundary).\n\n**Permissions:** `version.focus.set` (all required).",
|
|
23171
|
+
"x-rank": "archon",
|
|
23172
|
+
"x-source": "modules/lifecycle/routes/versions.js",
|
|
23173
|
+
"x-permissions": [
|
|
23174
|
+
"version.focus.set"
|
|
23175
|
+
],
|
|
23176
|
+
"requestBody": {
|
|
23177
|
+
"required": false,
|
|
23178
|
+
"content": {
|
|
23179
|
+
"application/json": {
|
|
23180
|
+
"schema": {
|
|
23181
|
+
"$ref": "#/components/schemas/PutVersionsFocusRequest"
|
|
23182
|
+
}
|
|
23183
|
+
}
|
|
23184
|
+
},
|
|
23185
|
+
"x-validated": true
|
|
23186
|
+
},
|
|
23187
|
+
"responses": {
|
|
23188
|
+
"200": {
|
|
23189
|
+
"description": "Success.",
|
|
23190
|
+
"content": {
|
|
23191
|
+
"application/json": {
|
|
23192
|
+
"schema": {
|
|
23193
|
+
"$ref": "#/components/schemas/PutVersionsFocusResponse"
|
|
23194
|
+
}
|
|
23195
|
+
}
|
|
23196
|
+
}
|
|
23197
|
+
},
|
|
23198
|
+
"400": {
|
|
23199
|
+
"$ref": "#/components/responses/ValidationFailed"
|
|
23200
|
+
},
|
|
23201
|
+
"401": {
|
|
23202
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
23203
|
+
},
|
|
23204
|
+
"403": {
|
|
23205
|
+
"$ref": "#/components/responses/Forbidden"
|
|
23206
|
+
}
|
|
23207
|
+
},
|
|
23208
|
+
"security": [
|
|
23209
|
+
{
|
|
23210
|
+
"builderSession": []
|
|
23211
|
+
}
|
|
23212
|
+
]
|
|
23213
|
+
}
|
|
23214
|
+
},
|
|
23061
23215
|
"/versions/progress": {
|
|
23062
23216
|
"get": {
|
|
23063
23217
|
"operationId": "get_versions_progress",
|
|
@@ -25721,6 +25875,17 @@
|
|
|
25721
25875
|
"suggestions"
|
|
25722
25876
|
]
|
|
25723
25877
|
},
|
|
25878
|
+
"GetVersionsFocusResponse": {
|
|
25879
|
+
"type": "object",
|
|
25880
|
+
"properties": {
|
|
25881
|
+
"focus_version_id": {},
|
|
25882
|
+
"can_set": {}
|
|
25883
|
+
},
|
|
25884
|
+
"required": [
|
|
25885
|
+
"focus_version_id",
|
|
25886
|
+
"can_set"
|
|
25887
|
+
]
|
|
25888
|
+
},
|
|
25724
25889
|
"GetVersionsIdDoneWhenResponse": {
|
|
25725
25890
|
"type": "object",
|
|
25726
25891
|
"properties": {
|
|
@@ -30904,6 +31069,33 @@
|
|
|
30904
31069
|
"entitlement"
|
|
30905
31070
|
]
|
|
30906
31071
|
},
|
|
31072
|
+
"PostStoreModulesKeyDelistRequest": {
|
|
31073
|
+
"type": "object",
|
|
31074
|
+
"properties": {
|
|
31075
|
+
"reason": {
|
|
31076
|
+
"type": "string",
|
|
31077
|
+
"maxLength": 2000
|
|
31078
|
+
}
|
|
31079
|
+
},
|
|
31080
|
+
"additionalProperties": false
|
|
31081
|
+
},
|
|
31082
|
+
"PostStoreModulesKeyDelistResponse": {
|
|
31083
|
+
"type": "object",
|
|
31084
|
+
"properties": {
|
|
31085
|
+
"ok": {
|
|
31086
|
+
"type": "boolean"
|
|
31087
|
+
},
|
|
31088
|
+
"module_key": {},
|
|
31089
|
+
"status": {},
|
|
31090
|
+
"delisted_at": {}
|
|
31091
|
+
},
|
|
31092
|
+
"required": [
|
|
31093
|
+
"ok",
|
|
31094
|
+
"module_key",
|
|
31095
|
+
"status",
|
|
31096
|
+
"delisted_at"
|
|
31097
|
+
]
|
|
31098
|
+
},
|
|
30907
31099
|
"PostStoreModulesKeyVersionsResponse": {
|
|
30908
31100
|
"type": "object",
|
|
30909
31101
|
"properties": {
|
|
@@ -31832,6 +32024,29 @@
|
|
|
31832
32024
|
"dependencies"
|
|
31833
32025
|
]
|
|
31834
32026
|
},
|
|
32027
|
+
"PutVersionsFocusRequest": {
|
|
32028
|
+
"type": "object",
|
|
32029
|
+
"properties": {
|
|
32030
|
+
"version_id": {
|
|
32031
|
+
"type": "string",
|
|
32032
|
+
"maxLength": 64
|
|
32033
|
+
}
|
|
32034
|
+
},
|
|
32035
|
+
"additionalProperties": false
|
|
32036
|
+
},
|
|
32037
|
+
"PutVersionsFocusResponse": {
|
|
32038
|
+
"type": "object",
|
|
32039
|
+
"properties": {
|
|
32040
|
+
"ok": {
|
|
32041
|
+
"type": "boolean"
|
|
32042
|
+
},
|
|
32043
|
+
"focus_version_id": {}
|
|
32044
|
+
},
|
|
32045
|
+
"required": [
|
|
32046
|
+
"ok",
|
|
32047
|
+
"focus_version_id"
|
|
32048
|
+
]
|
|
32049
|
+
},
|
|
31835
32050
|
"StringifiableId": {
|
|
31836
32051
|
"type": [
|
|
31837
32052
|
"integer",
|
|
@@ -31955,9 +32170,9 @@
|
|
|
31955
32170
|
"description": "A required dependency/feature is not configured or is temporarily down."
|
|
31956
32171
|
}
|
|
31957
32172
|
},
|
|
31958
|
-
"x-endpoint-count":
|
|
31959
|
-
"x-schema-count":
|
|
32173
|
+
"x-endpoint-count": 502,
|
|
32174
|
+
"x-schema-count": 536,
|
|
31960
32175
|
"x-undocumented-bodies": 12,
|
|
31961
|
-
"x-response-schemas":
|
|
32176
|
+
"x-response-schemas": 356,
|
|
31962
32177
|
"x-generated-by": "scripts/gds/gen-api-docs.js"
|
|
31963
32178
|
}
|
package/docs/api-reference.md
CHANGED
|
@@ -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.
|
|
5
|
+
> **Generated from the live route files** — the route file is authoritative. 502 endpoints across 92 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/0016-trust-boundary-server-enforced-permissions.md)): `public` < `any-builder` < `metic+archon` < `archon`.
|
|
@@ -781,13 +781,14 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
|
|
|
781
781
|
| GET | `/api/bongos/sso/pubkey` | `public` | — | GET /sso/pubkey — the hub's Ed25519 assertion-verification key (public). |
|
|
782
782
|
| POST | `/api/bongos/sso/token` | `public` | `client_id`, `client_secret`, `code`, `redirect_uri` | POST /sso/token — server-to-server code redemption. |
|
|
783
783
|
|
|
784
|
-
## `store` (
|
|
784
|
+
## `store` (10)
|
|
785
785
|
|
|
786
786
|
| Method | Path | Rank | Body | Description |
|
|
787
787
|
|---|---|---|---|---|
|
|
788
788
|
| GET | `/api/bongos/store/entitlements` | `any-builder` | — | GET /api/bongos/store/entitlements and /store/modules/:key/entitlement — the read side of the entitlement record (task 1003813, ADR 0338 … |
|
|
789
789
|
| POST | `/api/bongos/store/modules/:key/acquire` | `any-builder` | `version` | ---- install: acquire → download → record (task 1003785, ADR 0338 D1) ---- The server end of `bongos module install`. |
|
|
790
790
|
| POST | `/api/bongos/store/modules/:key/acquired` | `any-builder` | `version` | |
|
|
791
|
+
| POST | `/api/bongos/store/modules/:key/delist` | `metic+archon` | `reason` | POST /api/bongos/store/modules/:key/delist — a Metic+ person takes a module out of the store (task 1003797, ADR 0338 D2). |
|
|
791
792
|
| GET | `/api/bongos/store/modules/:key/entitlement` | `any-builder` | — | |
|
|
792
793
|
| POST | `/api/bongos/store/modules/:key/versions` | `metic+archon` | _undocumented_ | POST /api/bongos/store/modules/:key/versions — publish one module version to the store (task 1004271, ADR 0338 D1). |
|
|
793
794
|
| GET | `/api/bongos/store/modules/:key/versions/:version/howto` | `any-builder` | — | GET /api/bongos/store/modules/:key/versions/:version/howto — the how-to a version shipped with (task 1004366, ADR 0347 D1/D3), read from … |
|
|
@@ -850,7 +851,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
|
|
|
850
851
|
| GET | `/api/bongos/tasks/peer-votes/feed` | `any-builder` | — | GET /tasks/peer-votes/feed — recent confirmed/shipped work by OTHER builders, each with its net vote total and the caller's own current v… |
|
|
851
852
|
| POST | `/api/bongos/tasks/peer-votes/tally` | `metic+archon` | — | POST /tasks/peer-votes/tally — fold matured votes (≥7 days old, not yet counted) into karma_log, one net row per shipping builder, then m… |
|
|
852
853
|
|
|
853
|
-
## `versions` (
|
|
854
|
+
## `versions` (10)
|
|
854
855
|
|
|
855
856
|
| Method | Path | Rank | Body | Description |
|
|
856
857
|
|---|---|---|---|---|
|
|
@@ -861,6 +862,8 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
|
|
|
861
862
|
| POST | `/api/bongos/versions/:id/done-when` | `metic+archon` | `criterion_id`, `criterion_md`, `goal_id`, `sort_order` | Auth (Metic+, then the goal's own authority): create a done-when criterion at RUNTIME. |
|
|
862
863
|
| GET | `/api/bongos/versions/:id/progress` | `public` | — | Per-criterion progress rollup: each done-when criterion → the tasks that gate it (task_criteria, migration 055) → live statuses → what re… |
|
|
863
864
|
| GET | `/api/bongos/versions/close-suggestions` | `public` | — | Close-flow gate suggestions for every version still 'building'. |
|
|
865
|
+
| GET | `/api/bongos/versions/focus` | `any-builder` | — | The project's focus version (task 1004551) — the one the Roadmap stars. |
|
|
866
|
+
| PUT | `/api/bongos/versions/focus` | `archon` | `version_id` | (atom version.focus.set, system) — body { version_id } sets the focus; { version_id: null } clears it. |
|
|
864
867
|
| GET | `/api/bongos/versions/progress` | `public` | — | read-only progress aggregate; mirrors /public/progress. |
|
|
865
868
|
|
|
866
869
|
## `work-categories` (3)
|
package/docs/architecture.md
CHANGED
|
@@ -293,6 +293,7 @@ Bongos views: `claimable_tasks` (rebuilt in 006 to use SELECT t.*; rebuilt again
|
|
|
293
293
|
- Criterion rollup + task↔criterion links ([ADR 0025](adr/0025-structured-criterion-task-link.md), [#435](https://example.com/builders#/task/435)/[#438](https://example.com/builders#/task/438)): `GET /versions/:id/progress` rolls up each done-when criterion → its gating tasks (via `task_criteria`) → live status counts + the not-yet-shipped `remaining[]` + `unattributed_tasks` (the read behind the `/status` skill, in `src/bongos/done-when.js criterionProgress`). The link CRUD mirrors the dependency endpoints: `GET /tasks/:id/criteria`, `POST /tasks/:id/criteria` (**metic+** — [ADR 0090](adr/0090-metic-task-authoring.md)) and `DELETE /tasks/:id/criteria/:criterionId` (**metic+**). A criterion ref is a numeric `done_when_criteria.id`, a positional `"Cn"` token, or a `criterion_id` slug, resolved against the task's version (`POST /tasks` links at create time so `/status` counts the task with no backfill).
|
|
294
294
|
- Module store publish (ADR 0338 D1, task 1004271): `POST /store/modules/:key/versions` (`requireBuilder` + `requirePermission('module.submit')`, Metic floor). The body is the raw gzip tarball `bongos module publish` builds (own `express.raw` parser, 5 MB cap; 16 MB / 2000 files unpacked). `scripts/gds/module-artifact.js` re-verifies every hash and the publish gate, then `src/bongos/module-store.js` keeps the file under `var/module-store/` and inserts the `store_module_versions` row in one transaction. The first publish makes the caller the author; later versions are author-only, newer than the last and never overwritten; a delisted key takes none.
|
|
295
295
|
- Module store install (ADR 0338 D1, task 1003785), all `requireBuilder` and own-scoped (the holder is the caller): `POST /store/modules/:key/acquire` (`{version?}`; grants a free entitlement — no price row, or a zero price, is free — or `402 payment_required` for a priced module; refuses a delisted one), `GET /store/modules/:key/versions/:version/tarball` (served only to a live entitlement holder; `X-Tarball-Sha256`), `POST /store/modules/:key/acquired` (`{version}` → `recordAcquired`). Read side in `src/bongos/module-store.js` (`resolveAcquirable`, `isFreePrice`, `versionArtifactFile`). No channel check yet (tasks 1003815, 1003805). `bongos module update` (task 1003786) reuses the same three calls; the acquire route reads price only for a caller with no entitlement, so a holder is never charged again.
|
|
296
|
+
- Module store delist (ADR 0338 D2, task 1003797): `POST /store/modules/:key/delist` (`requireBuilder` + `requirePermission('module.delist')`, Metic floor, granted by `government_022`; strict body `{reason}`, reason required, recorded by the audit middleware). Sets `store_modules.status='delisted'` and `delisted_at` — one-way, no relist route. Every store read already refuses a delisted key (acquire, tarball, acquired, publish), while `GET /store/modules/latest` still answers with the status so `bongos upgrade` warns the holder. `GET /modules` sets `store_delisted` on an instance-tree module the store delisted (hall pill "delisted · no more updates"), and `bongos module list` marks it DELISTED (fail-soft store check, instance modules only). Never revokes an entitlement, never reaches an installed copy, never writes a score (ADR 0359). 404 unknown key, 409 `already_delisted`.
|
|
296
297
|
- Server-mediated branch publish (ADR 0055 / [#1025](https://example.com/builders#/task/1025) — lets a checkout with no GitHub push credential ship). Owner-gated like ship: `POST /tasks/:id/publish-branch` (`requireBuilder` + `gateTaskOwnership`; own 32 MB json parser for the base64 thin-bundle body, 20 MB decoded cap; the server pushes the branch + opens the PR + auto-merges with a server-side push credential — a **GitHub App** installation token (short-lived, repo-scoped; preferred, [ADR 0055](adr/0055-server-mediated-branch-publish.md) update / task 1028) or the `GITHUB_PUSH_TOKEN` PAT fallback; `503 push_unconfigured` when neither is set; `400 tip_mismatch` if the bundle tip ≠ the claimed `head_sha`) and `GET /tasks/:id/publish-status?branch=…` (polls PR + deploy-prod state derived live from GitHub). `branch` is optional: without it the server finds the task's own PR by its `task <id>: …` title, and the answer names the `branch` it used and its `branch_source` (`query` / `task_pr`, or `null` with a `branch_hint` when there is no such PR) — never a `400` (task 1003764). When the PR is still open it also carries `merge_driver`, whose `reason` says why it has not merged; on a red PR `failing_tests` names the failing unit tests (read from the `unit-report` commit status the `unit` workflow posts) and `checks_unreadable: true` says the check list is blind because the App lacks `Checks: read` — so an empty `checks[]` is never read as "nothing failed" (task 1003988, ADR 0301). Because the server's credential is the PR's AUTHOR, publish also **assigns the PR to the task's claim holder** and names them in the body (`modules/lifecycle/pr-assign.js`, task 1003991) — best-effort: the 201 carries `pr_assignee` (the login, or `null` when GitHub would not assign it) and a failed assignment never fails the publish. `ship.js` uses these in `ci` mode only when `pushVia()` resolves to server (no authenticated `gh` on the machine, or `<PREFIX>_PUSH_VIA_SERVER=1`); a machine with `gh` keeps the local push path unchanged. Implementation in `src/bongos/github-push.js`.
|
|
297
298
|
- Archon monitoring reads backing the `/watch` page (ADR 0036): `GET /builders/roster`, `GET /grades/by-builder[?days=N]` (**archon-only**, [#726](https://example.com/builders#/task/726) — per-builder grade breakdown for the MARKS section; the project-wide aggregate stays public at `/public/grades`), `GET /audit-log`, `GET /override-requests`, `GET /access-requests`, `GET /security/reports`. Personal-prefs writes backing `/settings`: `GET/PATCH /me/skill-prefs`, `PATCH /me/disciplines`.
|
|
298
299
|
- Per-builder "needs" + own Gemini key ([ADR 0073](adr/0073-builder-needs-signal-and-byok-gemini-key.md), [#1013](https://example.com/builders#/task/1013)): `GET /me` now also carries `needs` ({items, action_needed_count} — the consistent "the system needs an input from you" signal; `modules/builder-settings/builder-needs.js` is the SSOT — carved out in BV1.R80, resolved by `GET /me` via the `builder-settings` kernel port — rendered by the hall Standing card + the CLI `printNeedsNudge`). The own-key (pragmatic BYOK) endpoints, all own-scoped: `GET /me/art-key/own` (masked meta — last4 only), `PUT /me/art-key/own` (validate-on-save via a Google list-models call → encrypt with `src/bongos/secret-box.js` → store; `503 storage_not_configured` until `BUILDER_SECRET_KEY` is set, `422 invalid_key` on a bad key), `DELETE /me/art-key/own`. The existing `GET /me/art-key` (shared-key delivery) is extended to also deliver the decrypted own key, which `scripts/gds/fetch-art-key.js` syncs into the local `gemini_api_key` slot (own key wins in the `gen_api.py` cascade).
|
package/docs/copy-inventory.md
CHANGED
|
@@ -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
|
-
**
|
|
7
|
+
**2424 strings** across 3 surfaces · 2107 distinct pieces of copy · 2424 certain, 0 heuristic · 220 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` | 130 |
|
|
13
|
+
| `builders-hall` | `modules/hall-ui/public` | 130 | 1775 |
|
|
14
14
|
| `status-dashboard` | `modules/status-ui/public` | 4 | 100 |
|
|
15
15
|
| `landing` | `modules/public-landing/public` | 6 | 549 |
|
|
16
16
|
|
|
@@ -78,7 +78,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
78
78
|
| `2287c62afcdd` | 3x | The street | modules/hall-ui/public/street.html:54, modules/hall-ui/public/street.html:54, modules/hall-ui/public/street.html:92 |
|
|
79
79
|
| … | | _180 more in the JSON registry_ | |
|
|
80
80
|
|
|
81
|
-
## `builders-hall` —
|
|
81
|
+
## `builders-hall` — 1775 strings
|
|
82
82
|
|
|
83
83
|
| id | conf | text | where |
|
|
84
84
|
|---|---|---|---|
|
|
@@ -342,7 +342,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
342
342
|
| `90691bceaf68` | certain | Could not load | `modules/hall-ui/public/project-settings.js:242` |
|
|
343
343
|
| `90691bceaf68` | certain | Could not load | `modules/hall-ui/public/task.js:1022` |
|
|
344
344
|
| `589a4cfc5442` | certain | Could not load idea {…}. | `modules/hall-ui/public/ideas.js:1018` |
|
|
345
|
-
| `192c893fc64e` | certain | Could not load modules. | `modules/hall-ui/public/modules.js:
|
|
345
|
+
| `192c893fc64e` | certain | Could not load modules. | `modules/hall-ui/public/modules.js:335` |
|
|
346
346
|
| `9912c3835136` | certain | Could not load requests — reload to try again. | `modules/hall-ui/public/collab.js:845` |
|
|
347
347
|
| `7775fec0fa85` | certain | Could not load sessions. | `modules/hall-ui/public/sessions.js:504` |
|
|
348
348
|
| `7775fec0fa85` | certain | Could not load sessions. | `modules/hall-ui/public/sessions.js:542` |
|
|
@@ -362,7 +362,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
362
362
|
| `64f9d51f0fa2` | certain | Could not load your settings. | `modules/hall-ui/public/settings.js:1199` |
|
|
363
363
|
| `de244c45d916` | certain | Could not load {…} | `modules/hall-ui/public/task.js:1015` |
|
|
364
364
|
| `2366356926b4` | certain | Could not mark the primer just now. Try again. | `modules/hall-ui/public/primer.js:259` |
|
|
365
|
-
| `753987b5da13` | certain | Could not reach the submit endpoint. | `modules/hall-ui/public/modules.js:
|
|
365
|
+
| `753987b5da13` | certain | Could not reach the submit endpoint. | `modules/hall-ui/public/modules.js:314` |
|
|
366
366
|
| `6f500726f0ac` | certain | Could not read the report: {…} | `modules/hall-ui/public/watch.js:669` |
|
|
367
367
|
| `21c2f33168a3` | certain | Could not read this project's deploy state: {…} | `modules/hall-ui/public/deploy.js:619` |
|
|
368
368
|
| `21a782f1af26` | certain | Could not read what this would bring in: {…}. The check below still applies. | `modules/hall-ui/public/deploy.js:537` |
|
|
@@ -544,7 +544,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
544
544
|
| `6a85997bda21` | certain | Goals created | `modules/hall-ui/public/profile.html:153` |
|
|
545
545
|
| `6bbd703b5aad` | certain | Goals it can work on | `modules/hall-ui/public/gate.js:376` |
|
|
546
546
|
| `2ed2cb8fbffd` | certain | Goals page | `modules/hall-ui/public/goals.js:94` |
|
|
547
|
-
| `320a0516a33e` | certain | Goals seeded — awaiting kickoff | `modules/hall-ui/public/roadmap.js:
|
|
547
|
+
| `320a0516a33e` | certain | Goals seeded — awaiting kickoff | `modules/hall-ui/public/roadmap.js:271` |
|
|
548
548
|
| `bba4caf837e9` | certain | Goals — {{worldName}} | `modules/hall-ui/public/goals.html:6` |
|
|
549
549
|
| `bba4caf837e9` | certain | Goals — {{worldName}} | `modules/hall-ui/public/goals.html:6` |
|
|
550
550
|
| `80fd51db38d7` | certain | Good evening. | `modules/hall-ui/public/studio.html:95` |
|
|
@@ -579,7 +579,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
579
579
|
| `81fa43a51f8f` | certain | How the system works | `modules/hall-ui/public/diagrams.html:32` |
|
|
580
580
|
| `06cb721a03e1` | certain | How the system works — {{worldName}} | `modules/hall-ui/public/diagrams.html:6` |
|
|
581
581
|
| `06cb721a03e1` | certain | How the system works — {{worldName}} | `modules/hall-ui/public/diagrams.html:6` |
|
|
582
|
-
| `4f3802e6c81e` | certain | How the whole build is doing — the program at a glance, then each version. Shipped work stays out of the way. | `modules/hall-ui/public/roadmap.js:
|
|
582
|
+
| `4f3802e6c81e` | certain | How the whole build is doing — the program at a glance, then each version. Shipped work stays out of the way. | `modules/hall-ui/public/roadmap.js:487` |
|
|
583
583
|
| `b536897de6a3` | certain | How this project is governed. | `modules/hall-ui/public/government.js:1054` |
|
|
584
584
|
| `971f3eb36342` | certain | How to read the sky | `modules/hall-ui/public/goal-map.html:78` |
|
|
585
585
|
| `971f3eb36342` | certain | How to read the sky | `modules/hall-ui/public/goal-map.html:117` |
|
|
@@ -755,7 +755,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
755
755
|
| `d10dca462260` | certain | No goal (homeless) | `modules/hall-ui/public/ideas.js:581` |
|
|
756
756
|
| `fbb887a9b678` | certain | No goal has criteria met yet — work is in the task queue. | `modules/hall-ui/public/roadmap.js:128` |
|
|
757
757
|
| `6771a8966ec3` | certain | No goals declared yet — this version is tracked by its {…} done-when criteria. | `modules/hall-ui/public/roadmap.js:106` |
|
|
758
|
-
| `abc64639b134` | certain | No goals seeded yet. | `modules/hall-ui/public/roadmap.js:
|
|
758
|
+
| `abc64639b134` | certain | No goals seeded yet. | `modules/hall-ui/public/roadmap.js:258` |
|
|
759
759
|
| `139ec3636c22` | certain | No introductions right now. One appears here when a pairing round runs. | `modules/hall-ui/public/collab.html:99` |
|
|
760
760
|
| `3b9823dd4579` | certain | No maintenance declared — nobody is on the hook for this module as the core advances. | `modules/hall-ui/public/modules.js:92` |
|
|
761
761
|
| `64a4281934d1` | certain | No match. Try a page name, or an id like | `modules/hall-ui/public/palette.js:307` |
|
|
@@ -778,8 +778,8 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
778
778
|
| `da838f6056b1` | certain | No tasks for this stage yet. | `modules/hall-ui/public/genesis-home.js:181` |
|
|
779
779
|
| `712b64d8273f` | certain | No tasks match these filters. Try widening them. | `modules/hall-ui/public/work.js:427` |
|
|
780
780
|
| `2302ee46744e` | certain | No terminal commands found. | `modules/hall-ui/public/commands.js:46` |
|
|
781
|
-
| `78f78d1d1e1f` | certain | No version is in flight right now. | `modules/hall-ui/public/roadmap.js:
|
|
782
|
-
| `c9800f8b6bc8` | certain | No versions declared yet. | `modules/hall-ui/public/roadmap.js:
|
|
781
|
+
| `78f78d1d1e1f` | certain | No version is in flight right now. | `modules/hall-ui/public/roadmap.js:463` |
|
|
782
|
+
| `c9800f8b6bc8` | certain | No versions declared yet. | `modules/hall-ui/public/roadmap.js:481` |
|
|
783
783
|
| `4654849396a3` | certain | No work reviewed yet. | `modules/hall-ui/public/hall-widgets.js:181` |
|
|
784
784
|
| `9cf1c752b65d` | certain | No works shipped yet — the works charts draw once the first one lands. | `modules/hall-ui/public/profile-charts.js:574` |
|
|
785
785
|
| `9dbe1981055c` | certain | No {…} render is attached to this page. | `modules/hall-ui/public/approval-queue.js:134` |
|
|
@@ -816,7 +816,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
816
816
|
| `9ac63d97239a` | certain | Nothing newer is published that this box can take. There is nothing to deploy. | `modules/hall-ui/public/deploy.js:599` |
|
|
817
817
|
| `43626cff7071` | certain | Nothing of that kind in your sky. | `modules/hall-ui/public/sky-panel.js:123` |
|
|
818
818
|
| `ad9a17a8a5eb` | certain | Nothing shipped yet. | `modules/hall-ui/public/profile.js:297` |
|
|
819
|
-
| `f326632f2013` | certain | Nothing to submit — every module here ships with the core. | `modules/hall-ui/public/modules.js:
|
|
819
|
+
| `f326632f2013` | certain | Nothing to submit — every module here ships with the core. | `modules/hall-ui/public/modules.js:275` |
|
|
820
820
|
| `27c0d872db2d` | certain | Nothing you have typed above is lost by opening this. | `modules/hall-ui/public/ideas.html:155` |
|
|
821
821
|
| `26a07b64f49d` | certain | Now running core {…} | `modules/hall-ui/public/deploy.js:395` |
|
|
822
822
|
| `21cb60a8a96a` | certain | Now running core {…} — but GitHub was not updated. | `modules/hall-ui/public/deploy.js:385` |
|
|
@@ -1025,7 +1025,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1025
1025
|
| `ab8af800f2bb` | certain | Security reports | `modules/hall-ui/public/watch.html:47` |
|
|
1026
1026
|
| `9e370ee74bc4` | certain | See all ready work → | `modules/hall-ui/public/hall-widgets.js:105` |
|
|
1027
1027
|
| `324af64c8b6e` | certain | See all {…} goals {…} | `modules/hall-ui/public/roadmap.js:128` |
|
|
1028
|
-
| `324af64c8b6e` | certain | See all {…} goals {…} | `modules/hall-ui/public/roadmap.js:
|
|
1028
|
+
| `324af64c8b6e` | certain | See all {…} goals {…} | `modules/hall-ui/public/roadmap.js:260` |
|
|
1029
1029
|
| `00473a773fd7` | certain | See the UAT | `modules/hall-ui/public/criterion-uat-ui.js:80` |
|
|
1030
1030
|
| `a9c398651862` | certain | See the cross-project record | `modules/hall-ui/public/profile-canonical.js:114` |
|
|
1031
1031
|
| `17d5b5739f46` | certain | See the work board → | `modules/hall-ui/public/hall-render.js:946` |
|
|
@@ -1127,6 +1127,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1127
1127
|
| `93fa2e97dd35` | certain | System default for this skill | `modules/hall-ui/public/settings.js:72` |
|
|
1128
1128
|
| `4894b1d9b0de` | certain | System oversight: people, operations and security. | `modules/hall-ui/public/watch.js:1364` |
|
|
1129
1129
|
| `aa8da34fe237` | certain | Take the next page, or pick one from the studio. | `modules/hall-ui/public/tweak-editor.js:564` |
|
|
1130
|
+
| `8b3cdb88b0f4` | certain | Taken out of the store. Your copy keeps working, but it will get no more updates. | `modules/hall-ui/public/modules.js:113` |
|
|
1130
1131
|
| `e604fc3ace79` | certain | Task # | `modules/hall-ui/public/blockers.js:139` |
|
|
1131
1132
|
| `a0f384b022fd` | certain | Task dependencies | `modules/hall-ui/public/goals.html:132` |
|
|
1132
1133
|
| `91576eb7c880` | certain | Task dependency forest — scrolls sideways inside this box | `modules/hall-ui/public/goal-forest-render.js:146` |
|
|
@@ -1214,14 +1215,14 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1214
1215
|
| `c43812b59e97` | certain | The release notes could not be read: {…}. The versions are still listed. | `modules/hall-ui/public/settings-software-update.js:115` |
|
|
1215
1216
|
| `8040b1d05ff2` | certain | The renders could not be read just now. Close the queue and open it again. | `modules/hall-ui/public/approval-queue.js:130` |
|
|
1216
1217
|
| `3b5260b8780a` | certain | The reserved 16-rank ladder, which ranks are live today (archon, metic, thetes, xenos), and what each may do. | `modules/hall-ui/public/diagrams.html:60` |
|
|
1217
|
-
| `cfa55899240b` | certain | The roadmap could not be loaded right now. Reload to try again. | `modules/hall-ui/public/roadmap.js:
|
|
1218
|
-
| `2dea5ed89aa1` | certain | The roadmap failed to load. Reload to try again. | `modules/hall-ui/public/roadmap.js:
|
|
1218
|
+
| `cfa55899240b` | certain | The roadmap could not be loaded right now. Reload to try again. | `modules/hall-ui/public/roadmap.js:494` |
|
|
1219
|
+
| `2dea5ed89aa1` | certain | The roadmap failed to load. Reload to try again. | `modules/hall-ui/public/roadmap.js:495` |
|
|
1219
1220
|
| `38ce5d68c182` | certain | The roster | `modules/hall-ui/public/roster.html:36` |
|
|
1220
1221
|
| `dd6a926b8137` | certain | The same sentence, in several places. Sometimes that is right and the answer is to dismiss it; sometimes it is | `modules/hall-ui/public/copy-desk.html:57` |
|
|
1221
1222
|
| `314a635412fe` | certain | The same sky, as a list (L) | `modules/hall-ui/public/goal-map.html:73` |
|
|
1222
1223
|
| `314a635412fe` | certain | The same sky, as a list (L) | `modules/hall-ui/public/thinking.html:80` |
|
|
1223
1224
|
| `ec849c59d583` | certain | The same work from any terminal, outside Claude Code. Run | `modules/hall-ui/public/commands.html:45` |
|
|
1224
|
-
| `cd4ceb6e7e48` | certain | The seeded plan | `modules/hall-ui/public/roadmap.js:
|
|
1225
|
+
| `cd4ceb6e7e48` | certain | The seeded plan | `modules/hall-ui/public/roadmap.js:260` |
|
|
1225
1226
|
| `d01d36a596b0` | certain | The session log could not be loaded. Try again. | `modules/hall-ui/public/sessions.js:503` |
|
|
1226
1227
|
| `d01d36a596b0` | certain | The session log could not be loaded. Try again. | `modules/hall-ui/public/sessions.js:558` |
|
|
1227
1228
|
| `e48a9b77d91b` | certain | The session log opens from a higher rank. | `modules/hall-ui/public/sessions.html:41` |
|
|
@@ -1410,7 +1411,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1410
1411
|
| `c5fd76a9e03d` | certain | Won {…} | `modules/hall-ui/public/builders.js:477` |
|
|
1411
1412
|
| `c5fd76a9e03d` | certain | Won {…} | `modules/hall-ui/public/profile.js:206` |
|
|
1412
1413
|
| `986514f35589` | certain | Work board | `modules/hall-ui/public/work.html:31` |
|
|
1413
|
-
| `520d139df9eb` | certain | Work is complete but the version is held — no tasks are being claimed here right now. | `modules/hall-ui/public/roadmap.js:
|
|
1414
|
+
| `520d139df9eb` | certain | Work is complete but the version is held — no tasks are being claimed here right now. | `modules/hall-ui/public/roadmap.js:289` |
|
|
1414
1415
|
| `0e6b8e8f26cc` | certain | Works completed | `modules/hall-ui/public/profile.html:148` |
|
|
1415
1416
|
| `52e5fe3c6075` | certain | Write a Full Idea | `modules/hall-ui/public/ideas.html:145` |
|
|
1416
1417
|
| `ad1e1ab1ecac` | certain | Write a reply… | `modules/hall-ui/public/collab.js:175` |
|
|
@@ -1472,7 +1473,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1472
1473
|
| `8fdcb0439d2f` | certain | a sentence of context | `modules/hall-ui/public/blockers.js:309` |
|
|
1473
1474
|
| `a02616e47d11` | certain | a year of qualifying ships, in your timezone \u00b7 only you see this one | `modules/hall-ui/public/profile-charts.js:358` |
|
|
1474
1475
|
| `5070ebfedc48` | certain | access: the hub keeps a key of its own for this repository, so this change and every later upgrade are saved t | `modules/hall-ui/public/deploy.js:419` |
|
|
1475
|
-
| `9612c983451f` | certain | achieved · | `modules/hall-ui/public/roadmap.js:
|
|
1476
|
+
| `9612c983451f` | certain | achieved · | `modules/hall-ui/public/roadmap.js:341` |
|
|
1476
1477
|
| `dbfc9e6e921b` | certain | active builder{…}: {…} | `modules/hall-ui/public/government.js:809` |
|
|
1477
1478
|
| `6ea7c97a6583` | certain | alive · | `modules/hall-ui/public/sky-interaction.js:129` |
|
|
1478
1479
|
| `754babaae931` | certain | and ask in | `modules/hall-ui/public/hall-render.js:808` |
|
|
@@ -1509,10 +1510,11 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1509
1510
|
| `508ff7083048` | certain | command says your session expired. | `modules/hall-ui/public/settings.html:144` |
|
|
1510
1511
|
| `ef93fb8ebb26` | certain | could not nod — no task to make claimable | `modules/hall-ui/public/sky-composer.js:146` |
|
|
1511
1512
|
| `de87e7f6cdcb` | certain | could not nod — {…} | `modules/hall-ui/public/sky-composer.js:151` |
|
|
1512
|
-
| `b2ed350c2c2c` | certain | criteria planned · no tasks yet | `modules/hall-ui/public/roadmap.js:
|
|
1513
|
+
| `b2ed350c2c2c` | certain | criteria planned · no tasks yet | `modules/hall-ui/public/roadmap.js:271` |
|
|
1513
1514
|
| `0e2bef756977` | certain | days ({…}–{…}) | `modules/hall-ui/public/project-settings.js:113` |
|
|
1514
1515
|
| `4adbb8da9999` | certain | default ({…}) | `modules/hall-ui/public/settings-render.js:64` |
|
|
1515
1516
|
| `4a287afb0892` | certain | default for your rank | `modules/hall-ui/public/settings.js:420` |
|
|
1517
|
+
| `953f99598871` | certain | delisted · no more updates | `modules/hall-ui/public/modules.js:113` |
|
|
1516
1518
|
| `563e03d200c6` | certain | designed, task-tracked, not yet built | `modules/hall-ui/public/diagrams.html:43` |
|
|
1517
1519
|
| `a3fd52d9513b` | certain | document{…} you added · learned | `modules/hall-ui/public/settings-specialities.js:322` |
|
|
1518
1520
|
| `fcec9cad1c69` | certain | download .docx | `modules/hall-ui/public/tweak-editor.html:65` |
|
|
@@ -1535,7 +1537,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1535
1537
|
| `cc72f8a00297` | certain | from the {…} module | `modules/hall-ui/public/commands-lib.js:88` |
|
|
1536
1538
|
| `85ee22a0f184` | certain | full idea | `modules/hall-ui/public/goal-map.html:91` |
|
|
1537
1539
|
| `85ee22a0f184` | certain | full idea | `modules/hall-ui/public/thinking.html:99` |
|
|
1538
|
-
| `064c72453555` | certain | goals · | `modules/hall-ui/public/roadmap.js:
|
|
1540
|
+
| `064c72453555` | certain | goals · | `modules/hall-ui/public/roadmap.js:271` |
|
|
1539
1541
|
| `064c72453555` | certain | goals · | `modules/hall-ui/public/sky-interaction.js:38` |
|
|
1540
1542
|
| `064c72453555` | certain | goals · | `modules/hall-ui/public/sky-interaction.js:129` |
|
|
1541
1543
|
| `8e66451d0c12` | certain | gravity — the goal that catches it lights as you type; letting it float is a real answer | `modules/hall-ui/public/goal-map.html:94` |
|
|
@@ -1554,8 +1556,8 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1554
1556
|
| `7df22e74c87a` | certain | idea {…} | `modules/hall-ui/public/idea.js:237` |
|
|
1555
1557
|
| `7df22e74c87a` | certain | idea {…} | `modules/hall-ui/public/ideas.js:546` |
|
|
1556
1558
|
| `b2b399fdd6a4` | certain | in progress | `modules/hall-ui/public/roadmap.js:120` |
|
|
1557
|
-
| `b2b399fdd6a4` | certain | in progress | `modules/hall-ui/public/roadmap.js:
|
|
1558
|
-
| `0af147b7fd54` | certain | in progress · | `modules/hall-ui/public/roadmap.js:
|
|
1559
|
+
| `b2b399fdd6a4` | certain | in progress | `modules/hall-ui/public/roadmap.js:260` |
|
|
1560
|
+
| `0af147b7fd54` | certain | in progress · | `modules/hall-ui/public/roadmap.js:341` |
|
|
1559
1561
|
| `275e222d5448` | certain | instead of the last line. New to the steps? The | `modules/hall-ui/public/hall-render.js:833` |
|
|
1560
1562
|
| `01ae1a45baff` | certain | invited by {…} | `modules/hall-ui/public/goal-inbox.js:53` |
|
|
1561
1563
|
| `77ad318bb546` | certain | invited — awaiting their response | `modules/hall-ui/public/goals-render.js:1433` |
|
|
@@ -1592,17 +1594,17 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1592
1594
|
| `d43b9bbb8d4d` | certain | not graded (quality lens unavailable) | `modules/hall-ui/public/builders.js:559` |
|
|
1593
1595
|
| `c04e4491af67` | certain | not now | `modules/hall-ui/public/studio.html:104` |
|
|
1594
1596
|
| `3916a3dc8e98` | certain | not started | `modules/hall-ui/public/roadmap.js:120` |
|
|
1595
|
-
| `3916a3dc8e98` | certain | not started | `modules/hall-ui/public/roadmap.js:
|
|
1597
|
+
| `3916a3dc8e98` | certain | not started | `modules/hall-ui/public/roadmap.js:341` |
|
|
1596
1598
|
| `b4d87a62ec85` | certain | nothing by that name — or not explored yet | `modules/hall-ui/public/sky-interaction.js:138` |
|
|
1597
1599
|
| `8ca0a499ec86` | certain | nothing recorded yet · {…} | `modules/hall-ui/public/profile-charts.js:288` |
|
|
1598
1600
|
| `6a040d3dbd48` | certain | nothing waits on you. | `modules/hall-ui/public/street.html:95` |
|
|
1599
1601
|
| `a85339717a72` | certain | nothing was saved | `modules/hall-ui/public/tweak-editor.html:121` |
|
|
1600
1602
|
| `e2c643fbf4d6` | certain | npm install | `modules/hall-ui/public/hall-render.js:810` |
|
|
1601
1603
|
| `e90b5601ce16` | certain | objected to | `modules/hall-ui/public/board-room.js:182` |
|
|
1602
|
-
| `351d56b80a6c` | certain | of all in-flight tasks shipped | `modules/hall-ui/public/roadmap.js:
|
|
1604
|
+
| `351d56b80a6c` | certain | of all in-flight tasks shipped | `modules/hall-ui/public/roadmap.js:351` |
|
|
1603
1605
|
| `09172f45e6da` | certain | of the 90% needed | `modules/hall-ui/public/primer.html:101` |
|
|
1604
1606
|
| `99f88f2af2ee` | certain | of work — a tangent, an investigation, an unprompted suggestion — instead of staying on your claimed task. It | `modules/hall-ui/public/settings.html:305` |
|
|
1605
|
-
| `5e7a2220c6a9` | certain | of {…} | `modules/hall-ui/public/roadmap.js:
|
|
1607
|
+
| `5e7a2220c6a9` | certain | of {…} | `modules/hall-ui/public/roadmap.js:341` |
|
|
1606
1608
|
| `759c12b5f983` | certain | oldest first | `modules/hall-ui/public/hall-widgets.js:165` |
|
|
1607
1609
|
| `7a0398261747` | certain | on the table here | `modules/hall-ui/public/street.html:165` |
|
|
1608
1610
|
| `f5a9579bbc36` | certain | open in new tab | `modules/hall-ui/public/tweak-editor.html:61` |
|
|
@@ -1644,7 +1646,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1644
1646
|
| `92775a3d8d0d` | certain | send it back | `modules/hall-ui/public/approval-queue.js:179` |
|
|
1645
1647
|
| `a13ee0cde7f2` | certain | set yours in Settings | `modules/hall-ui/public/collab.html:55` |
|
|
1646
1648
|
| `be368c58934a` | certain | settled · | `modules/hall-ui/public/sky-interaction.js:129` |
|
|
1647
|
-
| `a6f55d7aa6f7` | certain | shipped (live) | `modules/hall-ui/public/roadmap.js:
|
|
1649
|
+
| `a6f55d7aa6f7` | certain | shipped (live) | `modules/hall-ui/public/roadmap.js:351` |
|
|
1648
1650
|
| `026ba1289d4d` | certain | shipped · | `modules/hall-ui/public/goals-render.js:787` |
|
|
1649
1651
|
| `8e30267795a7` | certain | show me everything | `modules/hall-ui/public/sky-layout.js:50` |
|
|
1650
1652
|
| `b250b5c4eb03` | certain | shuttle · {…} | `modules/hall-ui/public/sky-interaction.js:45` |
|
|
@@ -1654,7 +1656,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1654
1656
|
| `c8c2551006dc` | certain | skip the tour | `modules/hall-ui/public/goal-map.html:121` |
|
|
1655
1657
|
| `c8c2551006dc` | certain | skip the tour | `modules/hall-ui/public/thinking.html:122` |
|
|
1656
1658
|
| `1e737a57eb20` | certain | start governing | `modules/hall-ui/public/city.html:79` |
|
|
1657
|
-
| `0215b2cdca8c` | certain | submit for review | `modules/hall-ui/public/modules.js:
|
|
1659
|
+
| `0215b2cdca8c` | certain | submit for review | `modules/hall-ui/public/modules.js:149` |
|
|
1658
1660
|
| `43e6f1592ae3` | certain | submit it in the editor | `modules/hall-ui/public/studio.js:797` |
|
|
1659
1661
|
| `9ec19e32f86f` | certain | submit page | `modules/hall-ui/public/tweak-editor.html:68` |
|
|
1660
1662
|
| `da30b952a60b` | certain | system / unattributed | `modules/hall-ui/public/goals-page.js:269` |
|
|
@@ -1674,7 +1676,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1674
1676
|
| `4d8ee7d68974` | certain | task {…} | `modules/hall-ui/public/watch.js:1271` |
|
|
1675
1677
|
| `e4e423344746` | certain | task · {…} | `modules/hall-ui/public/sky-interaction.js:36` |
|
|
1676
1678
|
| `e4e423344746` | certain | task · {…} | `modules/hall-ui/public/sky-panel.js:95` |
|
|
1677
|
-
| `a41659dc2bee` | certain | tasks remaining | `modules/hall-ui/public/roadmap.js:
|
|
1679
|
+
| `a41659dc2bee` | certain | tasks remaining | `modules/hall-ui/public/roadmap.js:351` |
|
|
1678
1680
|
| `34cacf1b2c8f` | certain | tasks · {…} · click to fill the screen with it | `modules/hall-ui/public/sky-interaction.js:38` |
|
|
1679
1681
|
| `bd3402efa59e` | certain | task{…} shipped | `modules/hall-ui/public/goals-render.js:828` |
|
|
1680
1682
|
| `77711fffcb5d` | certain | the goal | `modules/hall-ui/public/sky-panel.js:84` |
|
|
@@ -1714,7 +1716,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1714
1716
|
| `432def6844b7` | certain | upload .docx | `modules/hall-ui/public/tweak-editor.js:497` |
|
|
1715
1717
|
| `4de556377db2` | certain | verdict {…} | `modules/hall-ui/public/task.js:416` |
|
|
1716
1718
|
| `f20985df3729` | certain | version · {…} | `modules/hall-ui/public/sky-interaction.js:38` |
|
|
1717
|
-
| `969577b937d6` | certain | versions in flight | `modules/hall-ui/public/roadmap.js:
|
|
1719
|
+
| `969577b937d6` | certain | versions in flight | `modules/hall-ui/public/roadmap.js:351` |
|
|
1718
1720
|
| `8cd3cc4005fc` | certain | via goal | `modules/hall-ui/public/dom-utils.js:441` |
|
|
1719
1721
|
| `007b28a56031` | certain | view diff | `modules/hall-ui/public/gate.js:160` |
|
|
1720
1722
|
| `18cf722bdd7e` | certain | waiting · | `modules/hall-ui/public/sky-interaction.js:128` |
|
|
@@ -1750,15 +1752,15 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1750
1752
|
| `6c08bfe92e2b` | certain | {…} This project is invite-only: the {…} invites each builder, and there is nothing to apply for here. | `modules/hall-ui/public/hall-render.js:289` |
|
|
1751
1753
|
| `c5623d60015d` | certain | {…} Your standing is {…}. | `modules/hall-ui/public/hall-render.js:845` |
|
|
1752
1754
|
| `a91e1e702d4d` | certain | {…} achieved, {…} in progress, {…} not started of {…} goals | `modules/hall-ui/public/roadmap.js:73` |
|
|
1753
|
-
| `a65d371b5cb3` | certain | {…} and above can enable or disable a module | `modules/hall-ui/public/modules.js:
|
|
1755
|
+
| `a65d371b5cb3` | certain | {…} and above can enable or disable a module | `modules/hall-ui/public/modules.js:147` |
|
|
1754
1756
|
| `98b1c674fc37` | certain | {…} and up | `modules/hall-ui/public/sessions.js:289` |
|
|
1755
1757
|
| `111b71a9acaf` | certain | {…} and up. | `modules/hall-ui/public/sessions.js:287` |
|
|
1756
1758
|
| `56b00d773232` | certain | {…} and {…} | `modules/hall-ui/public/profile-nudge.js:77` |
|
|
1757
1759
|
| `0da0e247ff0f` | certain | {…} asking to connect | `modules/hall-ui/public/profile-connections.js:145` |
|
|
1758
1760
|
| `788ff11f1135` | certain | {…} awarded | `modules/hall-ui/public/task.js:459` |
|
|
1759
|
-
| `9d160147b34a` | certain | {…} criteria · since {…} | `modules/hall-ui/public/roadmap.js:
|
|
1760
|
-
| `9d160147b34a` | certain | {…} criteria · since {…} | `modules/hall-ui/public/roadmap.js:
|
|
1761
|
-
| `78ba2bd4bc44` | certain | {…} criteria · started {…} | `modules/hall-ui/public/roadmap.js:
|
|
1761
|
+
| `9d160147b34a` | certain | {…} criteria · since {…} | `modules/hall-ui/public/roadmap.js:206` |
|
|
1762
|
+
| `9d160147b34a` | certain | {…} criteria · since {…} | `modules/hall-ui/public/roadmap.js:229` |
|
|
1763
|
+
| `78ba2bd4bc44` | certain | {…} criteria · started {…} | `modules/hall-ui/public/roadmap.js:289` |
|
|
1762
1764
|
| `cf89ac85440d` | certain | {…} earned | `modules/hall-ui/public/goals-render.js:828` |
|
|
1763
1765
|
| `3efa67dc6e07` | certain | {…} file{…} | `modules/hall-ui/public/gate.js:151` |
|
|
1764
1766
|
| `00c50715f271` | certain | {…} fundamentals · {…} you can change here | `modules/hall-ui/public/project-settings.js:228` |
|
|
@@ -1777,19 +1779,19 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1777
1779
|
| `771bef3d31b5` | certain | {…} project{…} | `modules/hall-ui/public/fleet.js:39` |
|
|
1778
1780
|
| `154bc518bab4` | certain | {…} proposed | `modules/hall-ui/public/government.js:705` |
|
|
1779
1781
|
| `275f3565c78b` | certain | {…} reset to its default {…} permissions. | `modules/hall-ui/public/government.js:297` |
|
|
1780
|
-
| `33afba17ee0f` | certain | {…} seeded | `modules/hall-ui/public/roadmap.js:
|
|
1782
|
+
| `33afba17ee0f` | certain | {…} seeded | `modules/hall-ui/public/roadmap.js:260` |
|
|
1781
1783
|
| `732b4c935e36` | certain | {…} sessions | `modules/hall-ui/public/task.js:467` |
|
|
1782
1784
|
| `e08fa22622f0` | certain | {…} shipped, {…} confirmed, {…} completed, {…} remaining of {…} | `modules/hall-ui/public/roadmap.js:67` |
|
|
1783
|
-
| `e08fa22622f0` | certain | {…} shipped, {…} confirmed, {…} completed, {…} remaining of {…} | `modules/hall-ui/public/roadmap.js:
|
|
1785
|
+
| `e08fa22622f0` | certain | {…} shipped, {…} confirmed, {…} completed, {…} remaining of {…} | `modules/hall-ui/public/roadmap.js:351` |
|
|
1784
1786
|
| `5d79bba0d667` | certain | {…} task {…} on live work — {…}. Sequence them before two builders collide. | `modules/hall-ui/public/goal-inbox.js:112` |
|
|
1785
|
-
| `ad27ae9f5433` | certain | {…} tasks · {…} | `modules/hall-ui/public/roadmap.js:
|
|
1787
|
+
| `ad27ae9f5433` | certain | {…} tasks · {…} | `modules/hall-ui/public/roadmap.js:477` |
|
|
1786
1788
|
| `955499559f0a` | certain | {…} tokens | `modules/hall-ui/public/sessions.js:173` |
|
|
1787
1789
|
| `8e28c14b106d` | certain | {…} total | `modules/hall-ui/public/roadmap.js:120` |
|
|
1788
1790
|
| `1a8a6267e490` | certain | {…} unfinished task{…} — say what happens to each | `modules/hall-ui/public/goals-render.js:1042` |
|
|
1789
1791
|
| `3ad8f32dd43b` | certain | {…} you have sent | `modules/hall-ui/public/profile-connections.js:146` |
|
|
1790
1792
|
| `2f75f69cdb2f` | certain | {…} {…} changed | `modules/hall-ui/public/profile-crafts.js:218` |
|
|
1791
1793
|
| `8186b562553a` | certain | {…} {…} waiting | `modules/hall-ui/public/work.js:420` |
|
|
1792
|
-
| `a9216af9b05e` | certain | {…} {…} — how-to | `modules/hall-ui/public/modules.js:
|
|
1794
|
+
| `a9216af9b05e` | certain | {…} {…} — how-to | `modules/hall-ui/public/modules.js:390` |
|
|
1793
1795
|
| `0d4016a5531c` | certain | {…} {…}{…} | `modules/hall-ui/public/watch.js:503` |
|
|
1794
1796
|
| `0d4016a5531c` | certain | {…} {…}{…} | `modules/hall-ui/public/work.js:265` |
|
|
1795
1797
|
| `b3757ba3bb46` | certain | {…} · Stored encrypted; never shown again after saving. | `modules/hall-ui/public/settings.js:873` |
|
|
@@ -1797,7 +1799,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1797
1799
|
| `d73256fbc395` | certain | {…} · who votes, and how it {…} | `modules/hall-ui/public/board-room.js:458` |
|
|
1798
1800
|
| `cab2a4296aec` | certain | {…} · {…} · {…}{…} | `modules/hall-ui/public/goal-inbox.js:458` |
|
|
1799
1801
|
| `1ac723849449` | certain | {…} · {…}{…} | `modules/hall-ui/public/sky-interaction.js:33` |
|
|
1800
|
-
| `ddd2bfc1fb60` | certain | {…} — how to use it | `modules/hall-ui/public/modules.js:
|
|
1802
|
+
| `ddd2bfc1fb60` | certain | {…} — how to use it | `modules/hall-ui/public/modules.js:392` |
|
|
1801
1803
|
| `085f93f3f775` | certain | {…} — see all standings | `modules/hall-ui/public/hall-render.js:80` |
|
|
1802
1804
|
| `2a2728a4ec4f` | certain | {…}% of tasks complete | `modules/hall-ui/public/roadmap.js:63` |
|
|
1803
1805
|
| `15e545eb3ce2` | certain | {…}, no such task | `modules/hall-ui/public/task.js:1002` |
|
|
@@ -1812,7 +1814,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1812
1814
|
| `97e27ab169ae` | certain | {…}{…} session{…} across {…} builder{…}. | `modules/hall-ui/public/sessions.js:443` |
|
|
1813
1815
|
| `3d74668f69e5` | certain | {…}{…} · {…} | `modules/hall-ui/public/task.js:639` |
|
|
1814
1816
|
| `7f79bedecf60` | certain | {…}{…} — open it to see what went | `modules/hall-ui/public/goal-inbox.js:374` |
|
|
1815
|
-
| `1026fd5f68b7` | certain | · version | `modules/hall-ui/public/modules.js:
|
|
1817
|
+
| `1026fd5f68b7` | certain | · version | `modules/hall-ui/public/modules.js:395` |
|
|
1816
1818
|
| `4a5ff4f662df` | certain | — ${…} of ${…} this month ({…}%). {…} | `modules/hall-ui/public/hall-render.js:520` |
|
|
1817
1819
|
| `a6ae9cbdee30` | certain | — all builders — | `modules/hall-ui/public/builders.js:711` |
|
|
1818
1820
|
| `729d4ce22b99` | certain | — any — | `modules/hall-ui/public/hall-widgets.js:163` |
|